0

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

感谢您的帮助,亚伦

4

1 回答 1

0

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

例如:

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

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

于 2010-09-02T15:33:47.813 回答