En esta entrada vamos a ver como añadir eventos a cualquier actor de tu aplicación. Con estos eventos podrás controlar lo que pase cuando se haga click o se arrastre un actor, por ejemplo.
Creando e inicializando las variables necesarias
Lo primero que tenemos que tener es un objeto de la clase Actor o de alguna clase que herede de este (botones, tablas, imágenes... puedes ver más información sobre los actores de libGDX aquí.)
Después necesitaremos un Stage, un Batch o una cámara para que nos muestre el Actor en la pantalla. ( Puedes ver más información sobre Stages y SpriteBatch aquí y aquí)
Recuerda añadir un procesador de entradas a tu Stage:
Con esto harás que sea ese Stage el que reciba los eventos. En caso de tener varios Stages en una misma aplicación deberás decidir en cada caso cual quieres que reciba los eventos. Sólo podrá haber un Stage recibiendo eventos al mismo tiempo.
Añadiendo eventos a un Actor
Una vez tenemos todo listo tan solo deberemos añadir el siguiente código para que nuestro Actor reciba eventos determinados.
Aquí tienes el código de distintos eventos que se pueden añadir. Tan solo tienes que coger las funciones para el evento que quieras coger:
Puedes ver todos los eventos que puedes usar aquí.
Notas
- Los Stages también pueden recibir eventos de la misma forma que los Actores, al igual que los TextButtons, Tables, etc.
- Aquellas funciones que devuelven un boolean, en caso de devolver true se detendrá en esa función y no se ejecutará para el resto de escuchadores de eventos que tengas. Es decir, si pones una función en el Stage de escuchar un evento de hacer click (touchDown) que devuelva true, este evento no lo recogerá ninguno de los actores que tenga el Stage. Por eso es recomendable que devuelva siempre false, salvo excepciones.
No hay comentarios:
Publicar un comentario