En este vídeo vamos a ver una forma rápida de testear si los botones en Unity están funcionando correctamente y consiste en crear un botón y en el evento OnClick del mismo asignar un GameObject como la luz direccional que aparece por defecto en una escena y luego con el menú desplegable del evento OnClick seleccionar alguna función como por ejemplo la función SetActive() dentro de la sección GameObject. Esta función permite setear el estado del objeto, si se ejecuta con parámetro false, el objeto se desactiva, si se ejecuta con parámetro true el objeto se activa. Nos aseguramos de que la casilla está desmarcada para hacer un SetActive(false) sobre la luz direccional y le damos a play.Al pulsar el botón la luz direccional debería desactivarse.Esta es una manera rápida de testear si hay problemas con los botones.
Luego vamos a ver cuatro de las principales razones que se me ocurren por las cuales los botones podrían no funcionar en Unity.
RAZÓN 1: No hay EventSystem en la escenaEl eventsystem es el sistema que se encarga de detectar los eventos sobre los elementos de la interfaz gráfica, si eliminamos accidentalmente este elemento de la escena, Unity no podrá detectar los clics que ocurren sobre los botones.
RAZÓN 2: Botón inactivo o no interactivoEl componente Button tiene dos casillas que si desactivamos accidentalmente hará que no funcione correctamente, una es la casilla de estado del componente y la otra es la casilla "Interactable".
RAZÓN 3: El botón no tiene elemento Raycast TargetPara detectar un clic sobre el botón es necesario que este tenga un elemento que actúe como Raycast Target, normalmente un botón que se crea por defecto tiene dos elementos, la imagen de fondo y como el texto del botón, ambos elementos por defecto son Raycast Target.
RAZÓN 4: Un elemento invisible bloquea los botonesPuede ocurrir que tengamos un elemento por encima de los botones que está capturando los clics.
____________________________________________________________
LINKS
Portfolio: https://gamedevtraum.com/es/portfolio...
LinkedIn: / gamedevtraum
Descargas: https://gamedevtraum.itch.io/
Contacto 1: [email protected]
Contacto 2: / gamedevtraum
____________________________________________________________
TIMESTAMP:
0:00 INTRO
0:25 Testear botones
02:16 MOTIVO 1 - No hay EventSystem
03:20 MOTIVO 2 - Componente inactivo o no interactivo
04:37 MOTIVO 3 - No hay RAYCAST TARGET
6:53 MOTIVO 4 - Elemento INVISIBLE SUPERPUESTO