什么是在普通视图和GLsurfaceview,Android之间切换的最佳方式

时间:2014-03-27 19:36:50

标签: java android opengl-es rendering surfaceview

我正在制作游戏,游戏有一个开始画面和主游戏画面。

我的问题是在两种观点之间切换的最佳方式是什么。

开始画面只包含几个按钮,一个是"开始游戏",当点击这个按钮时,将创建GLsurface视图。

如果我在开始时创建GLsurface视图并在此处绑定渲染器,那么GL表面视图中的任何内容都会显示在启动屏幕的顶部。

我以为我可以创建一个viewflipper,默认为开始屏幕,然后在开始按钮的onclick方法中创建glsurface视图,但这似乎不喜欢其中有GLsurface视图。

viewFlipper是否支持Glsurface视图,或者有更好的解决方法。

感谢。

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用两个活动,然后在它们之间切换。

这里的问题是ViewFlipper只会影响"视图" GLSurfaceView的一部分,它只是一个透明的洞。 GL渲染发生的表面是在具有视图内容的图层后面单独合成的,所以cannot be animated就是这样。

可以在Android Breakout中找到在GL游戏中使用两个活动的示例,TextureView使用一个活动进行配置,使用#34; start",另一个用于游戏本身。

如果你真的想要ViewFlipper动画,你可以渲染成{{3}},但你的应用必须处理GLSurfaceView为你做的一些事情。 TextureView的效率也低于SurfaceView