我正在尝试使用OpenGL为Android上的游戏编写一些骨架。我想知道,我应该在哪里放置我的主游戏循环代码?
到目前为止,我最好的候选者是Renderer.onDrawFrame(...)方法,它似乎被称为每帧,因此代码如下所示:
void onDrawFrame(GL10 gl)
{
preLoopActions();
m_gameScene->onUpdate();
m_gameScene->onRender(gl);
postLoopActions();
}
有没有更好的方法?我不喜欢这个,因为1)我必须在这个地方混合更新和渲染,android希望我只是渲染,2)这个方法似乎是从一个单独的“渲染线程”调用,这会增加游戏的复杂性。
答案 0 :(得分:2)
分离数学和绘图逻辑。你想要的是创建一个在该循环中运行循环的线程,你运行math()部分,然后在你运行时调用render()部分有一些技术来控制循环的时间。
答案 1 :(得分:1)
您是否考虑使用AndEngine之类的框架。它有一种称为GameActivity的东西,它让生活变得非常简单。这些例子很容易掌握。