【发布时间】:2014-03-27 19:36:49
【问题描述】:
我目前正在制作一个游戏,游戏有一个开始屏幕和主游戏屏幕。
我的问题是在两种视图之间切换的最佳方式是什么。
开始屏幕仅包含几个按钮,其中一个是“开始游戏”,单击此按钮时将创建 GLsurface 视图。
如果我在开始时创建 GLsurface 视图并在此处绑定渲染器,则 GL 表面视图中的任何内容都会显示在启动屏幕的顶部。
我想我可以创建一个默认为开始屏幕的 viewflipper,然后在开始按钮的 onclick 方法中创建 glsurface 视图,但这似乎不喜欢在其中包含 GLsurface 视图。
viewFlipper 是否支持 Glsurface 视图或有更好的解决方法。
谢谢。
【问题讨论】:
-
Android Breakout (code.google.com/p/android-breakout) 使用两个活动来执行此操作,尽管听起来您想要更生动的东西。请记住,GLSurfaceView 有两个组件,透明的 View 部分和单独合成的 Surface,因此为 GLSurfaceView 的视图设置动画可能不会产生您想要的效果。
-
@fadden 感谢您的建议,我相信还有其他方法可以做到这一点,但您的建议效果很好。写一个更详细的答案,我会接受它。这样做时要注意的另一件事是,如果您在两个活动之间不断地返回和第四个,则可以为每个活动创建多个实例。我需要检查我没有这样做。
-
完成。还添加了有关 TextureView 的注释。
标签: java android opengl-es rendering surfaceview