Где разместить основной игровой цикл в игре для Android

Я пытаюсь написать скелет для игры на Android, используя OpenGL. Я хотел бы знать, где я должен разместить свой основной код игрового цикла?

Пока что мой лучший кандидат - метод Renderer.onDrawFrame (...), который, кажется, вызывается покадрово, поэтому код выглядит так это:

void onDrawFrame(GL10 gl) 
{
     preLoopActions();

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

     postLoopActions();
}

Есть ли лучший подход? Мне этот метод не нравится, потому что 1) мне приходится смешивать обновление и рендеринг в том месте, где Android ожидает, что я просто буду рендерить, и 2) этот метод, кажется, вызывается из отдельного «потока рендеринга», что увеличивает сложность игры.

7
задан Jonas 5 February 2012 в 01:39
поделиться