我正在尝试使用OpenGL为
Android上的游戏编写一些骨架.我想知道,我应该在哪里放置我的主游戏循环代码?
到目前为止,我最好的候选者是Renderer.onDrawFrame(…)方法,它似乎被称为每帧,因此代码如下所示:
void onDrawFrame(GL10 gl) { preLoopActions(); m_gameScene->onUpdate(); m_gameScene->onRender(gl); postLoopActions(); }
有没有更好的方法?我不喜欢这个因为1)我必须在这个地方混合更新和渲染,其中android期望我只是渲染,2)这个方法似乎是从一个单独的“渲染线程”调用,这增加了游戏的复杂性.
解决方法
分离数学和绘图逻辑.你想要的是创建一个在该循环中有一个运行循环的线程,你运行math()部分,然后在你运行时调用render()部分,有一些技术来控制循环的时间.