在android游戏中放置主游戏循环的位置

Posted

技术标签:

【中文标题】在android游戏中放置主游戏循环的位置【英文标题】:Where to place main game loop in android game 【发布时间】:2010-10-22 09:05:33 【问题描述】:

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

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

void onDrawFrame(GL10 gl) 

     preLoopActions();

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

     postLoopActions();

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于在android游戏中放置主游戏循环的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在不破坏“菜单”按钮默认行为的情况下在 tvOS 游戏中设置主菜单

libGDX Google Play 游戏服务 - Android

平滑 Android 游戏循环

火柴游戏

使用 OpengL Surface 为 Android 制作游戏循环的最佳方法

Android - 游戏循环中的主动渲染?