代码之家  ›  专栏  ›  技术社区  ›  SadSido

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

  •  7
  • SadSido  · 技术社区  · 15 年前

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

    到目前为止,我的最佳候选者是渲染器。onDrawFrame(…)方法,它似乎是按帧调用的,因此代码如下所示:

    void onDrawFrame(GL10 gl) 
    {
         preLoopActions();
    
         m_gameScene->onUpdate();
         m_gameScene->onRender(gl);
    
         postLoopActions();
    }
    

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Tegra Detra    15 年前

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

        2
  •  1
  •   Adam Harte    15 年前

    您是否考虑过使用这样的框架 AndEngine . 它有一种叫做游戏活动的东西,可以让生活变得很轻松。这些例子很容易理解。