我正在制作一款基于OpenGL 2.0的Android游戏。 它只是一个主要的活动类,渲染器类,其中所有内容都在onDrawFrame中运行,而myGLSurfaceView则包含触摸事件。现在效果很好。
问题是 - 如何继续制作开始画面,并进一步开始菜单。 所以首先我要显示一个标题屏幕,触摸后它应该运行游戏。问题是我不知道应该怎么做 - 我正在考虑这个选项:
一开始,我可以在带有标题画面的onDrawFrame上绘制一个平面纹理矩形,触摸后它将显示游戏的其余部分并隐藏平铺屏幕。这很容易做到,但我觉得不应该怎么做。
我想到了单独的活动 - 每个运行单独的渲染器和单独的GLSurfaceViews - 在thouch上将关闭而另一个将开始。但我不能那样做 - 我的意思是我不能从MyGLSurfaceView onTouch方法运行MyActivity类调用以启动另一个活动,我也不能从MyGLSurfaceView启动另一个活动因为getApplicationContext在那里不起作用。我试过这个:
Intent intent = new Intent(getApplicationContext(),NewGameActivity.class); startActivity(意向); 我仍然不知道这是否是正确的方法 - 开始新的活动,新的GLSurvaceView和Renderer,关闭旧的?
我还考虑使用2d画布的开始活动绘制titlescreen,然后触摸后关闭它并运行OpenGL活动?
或者可能还有另一种方式可以做到吗?请给我任何建议:))
答案 0 :(得分:1)
我更喜欢选项1: - 启动画面应在opengl中完成 - 游戏应该有1个全屏活动。 - 支持单向(纵向或横向),避免重新创建活动
为什么呢? - 允许您的游戏更快地创建GLSurfaceView并在显示启动画面时执行一些资源加载。您还可以向启动画面添加进度条。 - 尝试在opengl中完成所有操作,以便我们可以轻松地将游戏移植到其他平台。