7

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

到目前为止,我最好的候选者是 Renderer.onDrawFrame(...) 方法,它似乎是按帧调用的,所以代码如下所示:

void onDrawFrame(GL10 gl) 
{
     preLoopActions();

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

     postLoopActions();
}

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

4

2 回答 2

2

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

于 2010-11-03T19:10:56.193 回答
1

您是否考虑过使用像AndEngine这样的框架。它有一个叫做 GameActivity 的东西,它让生活变得很容易。这些例子很容易上手。

于 2010-10-22T09:17:34.060 回答