java在安卓游戏中放置主游戏循环的位置
我正在尝试使用OpenGL为安卓上的游戏编写一些框架。我想知道,我应该把我的主要游戏循环代码放在哪里
到目前为止,我的最佳人选是渲染器。onDrawFrame(…)方法,它似乎是按帧调用的,因此代码如下所示:
void onDrawFrame(GL10 gl)
{
preLoopActions();
m_gameScene->onUpdate();
m_gameScene->onRender(gl);
postLoopActions();
}
有没有更好的方法?我不喜欢这个方法,因为1)我必须在安卓希望我只渲染的地方混合更新和渲染,2)这个方法似乎是从一个单独的“渲染线程”调用的,这增加了游戏的复杂性
# 1 楼答案
将数学和绘图逻辑分开。你要做的是创建一个线程,在这个循环中有一个运行循环,你运行math()部分,然后调用render()部分,当你工作时,有一些技术可以控制循环的计时
# 2 楼答案
您是否考虑过使用像AndEngine这样的框架。它有一种叫做游戏活动的东西,可以让生活变得很轻松。这些例子很容易理解