2010-10-22 19 views
7

Estoy tratando de escribir algún esqueleto para un juego en Android, usando OpenGL. Me gustaría saber, ¿dónde debería colocar el código de mi bucle de juego principal?Dónde colocar el bucle principal del juego en el juego de Android

Hasta ahora, mi mejor candidato es Renderer.onDrawFrame (...) método, que parece ser llamado por trama, por lo que el código es el siguiente:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

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

    postLoopActions(); 
} 

¿Hay alguna mejor enfoque? No me gusta esto porque 1) Tengo que mezclar la actualización y la representación en el lugar, donde Android solo espera renderizar, y 2) este método parece ser llamado desde un "hilo de representación" separado, lo que aumenta la complejidad del juego.

Respuesta

1

¿Ha considerado trabajar con framework como AndEngine. Tiene algo llamado GameActivity que hace la vida bastante fácil. Los ejemplos son bastante fáciles de aprender.

2

Separar la lógica matemática y de dibujo. Lo que desea es crear un hilo que tenga un ciclo de ejecución en ese ciclo ejecute la parte matemática() y luego llame a la parte de renderizado (render) cuando tenga que trabajar allí hay algunas técnicas para controlar el tiempo del ciclo.

Cuestiones relacionadas