0

我正在尝试为 3D android 游戏构建游戏框架。我试图使用本教程来做到这一点,

http://www.javacodegeeks.com/2011/07/android-game-development-game-loop.html

我能够让一个 2D 游戏框架工作。然后本教程继续使用 android 的 OpenGL 功能,但没有在游戏框架中使用它。

我的问题是,由于我使用单独的线程来调用我的更新和绘制方法,它们是否等同于我使用 android OpenGL GL10 类对画布所做的事情?

try
{
    canvas = this.surfaceHolder.lockCanvas();
    synchronized (surfaceHolder)
    {
         //Update and draw code here
    }
}
finally
{
    surfaceHolder.unlockCanvasAndPost(canvas);
}

虽然这应该是我的程序中使用 opengl GL10 类的唯一对象,但我想确保我可以控制 GL10 相机,这是否是最好的方法?

4

1 回答 1

1

我不确定我是否了解 Canvas API 和表面支架的东西。但是,在 Android 上使用 OpenGL,这GLSurfaceView似乎是您想要的(代码)。它派生自 SurfaceView 并EGL用于低级表面管理。它已经启动了第二个渲染线程,调用Renderer方法。您可能想查看Replica Island 的线程模型;Chris 使用第三个线程来更新游戏世界。

于 2012-04-16T12:22:23.837 回答