Diferencia entre la etapa y la pantalla de libgdx

Estoy haciendo un juego, y veo en los tutoriales algunas personas que usan la clase Stage, y otros que usan la clase Screen, pero no puedo entender la diferencia.

Una Stage contiene instancias de Actor y las actualiza / anima y gestiona la detección de resultados entre ellas. Es la raíz de la escena2d "escena gráfica" API . El escenario es una manera de gestionar la lista de objetos a dibujar, su estado en la pantalla (texturas, estado de animación, tamaño, etc.) y sus interacciones con el usuario. El código de etapa proporcionado en Libgdx está orientado principalmente hacia elementos de interfaz de usuario como botones y listas, pero el núcleo es lo suficientemente flexible como para contener elementos de juego.

Una Screen generalmente representa una "página" de interfaz de usuario de pantalla completa. Por ejemplo, puede tener una pantalla de "Menú principal", una pantalla de "Opciones", una pantalla de "juego principal" y una pantalla de "créditos finales". Las instancias de Screen son generalmente administradas por una instancia de Game . Cuando se utiliza con un Game los objetos Screen reciben los eventos de ciclo de vida Libgdx estándar como devoluciones de llamada ( pause , resume , resize , render , etc.).

No hay relaciones concretas entre Stage y Screen en Libgdx. Pero es más fácil pensar en un ejemplo donde la pantalla "menú principal" es implementada por una etapa que gestiona los botones en el menú principal. Cuando el usuario toca uno de los botones, el juego puede cambiar a la pantalla de juego principal y liberar algunos de los recursos contenidos en el menú principal. La pantalla de juego puede utilizar una Stage o puede utilizar OpenGL sin procesar para implementar el juego.

  • Los cambios en el código no se reflejan cuando ejecuto el proyecto Libgdx en Android
  • Cómo cambiar la posición de un cuerpo en movimiento - Box2D
  • Introduzca la manipulación de claves en Libgdx TextField
  • ¿Es AndEngine un motor de juego?
  • Androide. Cómo mover el objeto en la dirección que se enfrenta (usando Vector3 y Quaternion)
  • La UI de configuración de Libgdx da 2 errores inesperados en el nuevo proyecto GWT
  • ¿Cómo puedo crear una biblioteca compartida en C ++ para Android e iOS?
  • ¿ClickLIstener no está trabajando en el juego de LibGdx?
  • Java.lang.RuntimeException: eglSwapBuffers falló: informe EGL_SUCCESS
  • Rotar TextButton con libgdx
  • ¿Hay algún motor de juego 2D mejor que Libgdx?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.