在Android游戏中哪里放置主游戏循环

时间:2010-10-22 09:05:34

标签: java android game-loop

我正在尝试使用OpenGL为Android上的游戏编写一些骨架。我想知道,我应该在哪里放置我的主游戏循环代码?

到目前为止,我最好的候选者是Renderer.onDrawFrame(...)方法,它似乎被称为每帧,因此代码如下所示:

void onDrawFrame(GL10 gl) 
{
     preLoopActions();

     m_gameScene->onUpdate();
     m_gameScene->onRender(gl);

     postLoopActions();
}

有没有更好的方法?我不喜欢这个,因为1)我必须在这个地方混合更新和渲染,android希望我只是渲染,2)这个方法似乎是从一个单独的“渲染线程”调用,这会增加游戏的复杂性。

2 个答案:

答案 0 :(得分:2)

分离数学和绘图逻辑。你想要的是创建一个在该循环中运行循环的线程,你运行math()部分,然后在你运行时调用render()部分有一些技术来控制循环的时间。

答案 1 :(得分:1)

您是否考虑使用AndEngine之类的框架。它有一种称为GameActivity的东西,它让生活变得非常简单。这些例子很容易掌握。