jairogarcíarincón

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:



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.


Publicado el 05 de Febrero de 2025

unityvideojuegos2d