Contents

Triggers

Introducción

En este ejercicio aprenderemos a detectar cuando un objeto es atravesado por otro, tal y como suele ocurrir cuando recogemos coleccionables en un juego o pisamos ciertas trampas o puntos de tele transportación dentro de un juego. Empezaremos por duplicar la escena Movimiento y añadiremos un tercer sprite (por ejemplo amarillo). El resultado podría ser el siguiente:
12 Unity 2D - Triggers
Fuente: Elaboración propia

La opción Is Trigger

A continuación debemos añadir un Box Collider 2D a ese sprite, y activar su propiedad Is Trigger desde la Inspector window.
13 Unity 2D - Is Trigger
Fuente: Elaboración propia
Esta propiedad indica que nuestro objeto es un disparador de eventos, en concreto:
  • OnTriggerEnter2D: se dispara cuando un objeto entra en un collider con la propiedad Is Trigger activada.
  • OnTriggerExit2D: se dispara cuando un objeto sale de un collider con la propiedad Is Trigger activada.
  • OnTriggerStay2D: se dispara mientras un objeto permanece en un collider con la propiedad Is Trigger activada.
Además, con esta propiedad nuestro objeto se convierte en traspasable por otros, tal y como podrás comprobar si ejecutas el juego.

Atravesar y ocultar el sprite

Para conseguir que el sprite que se mueve sea capaz de ocultar el recién creado cuando lo atraviese, debemos crear y asociarle un nuevo script llamado Trigger con el siguiente código. Fíjate bien en los comentarios y atiende a las explicaciones del profesor para entenderlo correctamente:

Ver ejemplo de código

Antes de probar el funcionamiento, recuerda guardar el script y asociarlo al sprite que se mueve. NOTA: El funcionamiento sería idéntico si el script se lo asociamos al sprite traspasable. Dependerá del diseño del juego el escoger a quién se lo asociamos.