2010-10-22 99 views
7

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

到目前为止,我的最佳人选是Renderer.onDrawFrame(...)方法,这似乎是每帧被调用,所以代码如下所示:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

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

    postLoopActions(); 
} 

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

回答

1

你有没有考虑过像AndEngine这样的框架。它有一个叫做GameActivity的东西,它使生活变得非常简单。这些例子很容易理解。

2

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