Я пытаюсь написать скелет для игры на Android, используя OpenGL. Я хотел бы знать, где я должен разместить свой основной код игрового цикла?
Пока что мой лучший кандидат - метод Renderer.onDrawFrame (...), который, кажется, вызывается покадрово, поэтому код выглядит так это:
void onDrawFrame(GL10 gl)
{
preLoopActions();
m_gameScene->onUpdate();
m_gameScene->onRender(gl);
postLoopActions();
}
Есть ли лучший подход? Мне этот метод не нравится, потому что 1) мне приходится смешивать обновление и рендеринг в том месте, где Android ожидает, что я просто буду рендерить, и 2) этот метод, кажется, вызывается из отдельного «потока рендеринга», что увеличивает сложность игры.