我正在尝试使用 OpenGL 为 android 上的游戏编写一些框架。我想知道,我应该在哪里放置我的主要游戏循环代码?
到目前为止,我最好的候选方法是 Renderer.onDrawFrame(...) 方法,它似乎是按帧调用的,所以代码如下所示:
void onDrawFrame(GL10 gl)
{
preLoopActions();
m_gameScene->onUpdate();
m_gameScene->onRender(gl);
postLoopActions();
}
有没有更好的方法?我不喜欢这个,因为 1) 我必须在 android 期望我只渲染的地方混合更新和渲染,以及 2) 这个方法似乎是从一个单独的“渲染线程”调用的,这增加了游戏的复杂性。
最佳答案
分离数学和绘图逻辑。你想要的是创建一个线程,在该循环中有一个运行循环,你运行 math() 部分,然后在你运行时调用 render() 部分,有一些技术可以控制循环的时间。
关于java - 在安卓游戏中放置主游戏循环的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995351/