java - 在安卓游戏中放置主游戏循环的位置

标签 java android game-loop

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

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

void onDrawFrame(GL10 gl) 
{
     preLoopActions();

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

     postLoopActions();
}

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

最佳答案

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

关于java - 在安卓游戏中放置主游戏循环的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995351/

相关文章:

android - 在 Android Jelly Bean 中播放 flash 文件

java - Java中不同类型的游戏循环

java - 在 Maven 项目中更改编码(CP-1252 到 UTF-8)时,我应该如何处理编码为 iso-8859-1 的 XML 文件

java - 在 J2ME 中解析 JSON

JavaFx MediaPlayer 每小时播放一首 mp3

java - 令人困惑 "override a private method"

android - 由于错误 9,GooglePlayServices 不可用

java - Android ZipInputStream ZipEntry 未读取到文件末尾

c# - 在 XNA 4.0 中避免游戏循环

android - 安卓游戏可以同步触摸事件和更新吗?