我目前正在开发一款仅使用 2D 图形的游戏。
在游戏中,我广泛使用 android 的 SurfaceView
来显示我的图形。
我听说 GLSurfaceView
使用硬件加速图形,我可以使用它来代替当前的 SurfaceView
来提高我的应用程序的性能。
目前,我有一个扩展 SurfaceView
的类,它在方法 update()
和 render()
时更新和渲染游戏状态由我自己的扩展 Thread
的线程类调用。 Thread 基本上可以帮助我保持几乎恒定的 FPS。
现在的问题是:
我如何从 SurfaceView
更改为 GLSurfaceView
,并从 Thread 调用方法来更新和渲染游戏状态,以仍然控制 FPS。我阅读了关于 OpenGL ES 的 android 文档,但我不太明白如何使用 GLSurfaceView.Renderer
。
如果有人能解释我如何轻松地从 SurfaceView
切换到 GLSurfaceView
,那将很有帮助!谢谢!
最佳答案
显示游戏的类将扩展 GLSurfaceView
。您的渲染类将实现 Renderer
。在您的 Renderer
类中,您需要添加这些未实现的方法:onDrawFrame()
、onSurfaceChanged()
、和 onSurfaceCreated()
.
希望这对您有所帮助。
关于android - 从 SurfaceView 转移到 GLSurfaceView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284620/