Buenas gente!
En esta entrada vamos a ver con un poco más de detalle la clase Stage. Esta clase incluye una cámara y un SpriteBatch. Además, guarda los distintos actores que le demos para luego actualizarlos y mostrarlos por pantalla.
También veremos algunos ejemplos de actores que se le pueden
incorporar.
En esta entrada vamos a ver con un poco más de detalle la clase Stage. Esta clase incluye una cámara y un SpriteBatch. Además, guarda los distintos actores que le demos para luego actualizarlos y mostrarlos por pantalla.
Inicialización y uso :
Puedes crear un Stage con los siguientes constructores según tu necesitad:Puedes asignarle a tu stage los eventos que se produzcan en la aplicación con la línea:
Para cambiar las dimensiones
de lo que muestra tu stage puedes hacerlo con la línea:
Puedes añadir actores a
tu stage con la línea;
Para actualizar a todos los
actores de tu stage, se utiliza la siguiente línea (delta es un
flotante que indica la cantidad de tiempo que ha transcurrido desde
el último renderizado):
Y para dibujarlos a todos
(dibujará los actores en el orden en el que tu los introdujiste en
el stage)
Actores:
Un actor es un nodo con posición, tamaño, escala, rotación, color, etc. La clase Actor es extendida para crear nuestros propios actores que pueden cambiar a lo largo del tiempo y que deben ser mostrados en la pantalla de nuestra aplicación.
Un actor tiene una serie de eventos asociados a él que se ejecutan a lo largo del tiempo y son usados para modificarlo (como puede ser moverlo, redimensionarlo, cambiar su animación, etc.).
Estos son algunos de los posibles actores que se pueden añadir a nuestro stage, pudiendo crearte los tuyos propios:
- Table →
Base para añadir botones, imágenes, etc. y colocarlos de forma
ordenada en la pantalla, pudiendo indicar su tamaño, espaciado
entre el resto de elementos, etc.
- Image →
Imágenes sacadas a partir de una textura o región de esta.
- Button →
Botones con cualquier acción que tu les indiques.
- Entidades → Un actor con animaciones, detección
de colisiones, vida y todos los atributos que quieras darle.
- Barras de vida, stamina, etc. → Varias
imágenes superpuestas que varían según eventos de tu aplicación
como la pérdida de vida de tu personaje, uso de ataques, etc.
- Controladores táctiles → Para mover otros actores o cámaras, modificar valores, zoom, etc.
Notas:

- Al finalizar la aplicación deberemos llamar al método dispose() de nuestro stage para eliminarlo.
- Los actores por defecto no necesitan tener un
método dispose(). Si creamos nuestra propia clase que extienda
de Actor y esta tiene variables que necesiten
usar dispose() al cerrarse si deberemos crear esta función y
llamarla al cerrar nuestra app.
- Los actores se mostrarán en pantalla en el orden en el que
se introdujeron en el stage, por lo que en el fondo se
encontrarán los primeros y se irán superponiendo si fuera
necesario hasta llegar al último introducido que estará sobre
todos.
- Es posible tener más de un stage, cada uno con sus actores y que se muestren simultáneamente en pantalla. Esto será útil cuando veamos más adelante el HUD.
- Es recomendable usar siempre el mismo SpriteBatch, para el stage o para dibujar elementos concretos. Esto mejorará el rendimiento de nuestra app.