除了在程序启动时,可以随时启动带有游戏线程的SurfaceView吗?

时间:2010-08-07 20:22:50

标签: android surfaceview

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

感谢您的帮助, 亚伦

1 个答案:

答案 0 :(得分:0)

我很久以前就发现了我的问题,但我想我会回来给别人解决我的问题。使用SurfaceView时,它必须是创建它的活动的一部分,并且在xml中用于该活动的某种FrameLayout。

例如:

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

您可以添加任何其他您想要的布局元素,但这是创建SurfaceView所必需的。我希望这可以帮助其他遇到我问题的人,因为任何进一步的问题只会问,我会在必要时详细说明。