【问题标题】:Possible to start a SurfaceView with a Game Thread anytime other than at startup of the program?是否可以在程序启动时以外的任何时间使用游戏线程启动 SurfaceView?
【发布时间】:2010-08-07 20:22:50
【问题描述】:

我已经阅读了几个示例程序和教程来尝试解决我的问题,但它们似乎都以相同的方式进行。我使用了一些活动和 xml 文档来创建一个在我的游戏开始时加载的菜单。当用户单击“开始游戏”按钮时,它会加载一个新的 Activity,该 Activity 使用我的游戏线程和所有游戏属性设置视图。我知道这个活动有效,因为我已经将它作为自己的项目单独运行,但是我尝试在菜单之后启动它的每一种方式,我都会得到一个 nullPointerException 并且它强制关闭。我阅读了 SurfaceViewOverlay 教程并尝试使用该实现,但我使用的是 SurfaceView,而不是 GLSurfaceView。我正在讨论重写我的整个程序以使用 OpenGL,但我想我会看看是否有其他人知道我在这里做错了什么。如果您需要代码 sn-ps 我可以在这里粘贴一些,但实际上并不是具体代码有问题,我认为这是我使用(滥用)语言的方式...

感谢您的帮助, 亚伦

【问题讨论】:

    标签: android surfaceview


    【解决方案1】:

    我很久以前就发现了我的问题,但我想我会回来为遇到我问题的其他人提供答案。使用 SurfaceView 时,它必须是创建它的活动的一部分,并且在该活动的 xml 中的某种 FrameLayout 中。

    例如:

        <com.example.MySurfaceView
        android:id="@+id/mySurfaceView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
    

    您可以添加任何其他您想要的布局元素,但这是创建 SurfaceView 所必需的。我希望这对遇到我问题的其他人有所帮助,如果有任何进一步的问题,请提出,如有必要,我一定会详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 2016-01-08
      • 2011-03-27
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多