我正在制作基于 OpenGL 2.0 的 Android 游戏。它只是一个主要的活动类,渲染器类,其中所有内容都在 onDrawFrame 和 myGLSurfaceView 中运行,其中包含触摸事件。和现在一样好用。
问题是 - 我应该如何继续制作开始屏幕和进一步的开始菜单。所以首先我想显示一个标题屏幕,然后触摸它应该运行游戏。问题是我不知道应该怎么做 - 我正在考虑这个选项:
开始时,我可以在带有标题屏幕的 onDrawFrame 中绘制一个平面纹理矩形,触摸后它将显示游戏的其余部分并隐藏平铺屏幕。这很容易做到,但我有一种感觉,它不应该这样做。
我考虑过单独的活动 - 每个活动都运行单独的渲染器和单独的 GLSurfaceViews - 这样一个将关闭,另一个将启动。但我不能这样做——我的意思是我不能从 MyGLSurfaceView onTouch 方法调用 MyActivity 类来启动另一个活动,我也不能从 MyGLSurfaceView 启动另一个活动,因为 getApplicationContext 在那里不起作用。我试过这个:
Intent intent = new Intent(getApplicationContext(), NewGameActivity.class); 开始活动(意图);而且我什至不知道这是否是正确的做法 - 开始新的活动,新的 GLSurvaceView 和渲染器,关闭旧的?
我还考虑使用带有 2d 画布的启动活动来绘制标题屏幕,然后在触摸后关闭它并运行 OpenGL 活动?
或者也许应该有另一种方法?请给我任何建议:)