1 00:00:06,700 --> 00:00:13,320 Y vamos con la última función de todas, que es, vale, ¿y cómo hago que cuando yo pulso un botón ocurra algo? 2 00:00:13,439 --> 00:00:15,099 Para eso tenemos que recurrir a código. 3 00:00:15,099 --> 00:00:23,859 Como en cualquier lenguaje de programación podemos crear listeners, que significa que mediante código podemos estar esperando una interacción con un elemento de nuestro juego, en este caso un botón. 4 00:00:24,019 --> 00:00:33,820 Esa sería la forma más precisa de gestionar la interacción con un botón, pero Unity nos da una opción muy sencilla que la podemos implementar ya mismo. 5 00:00:33,820 --> 00:00:44,659 Si yo selecciono el botón, veremos que aquí abajo aparece un menú para qué hacer en caso de que lo cliqueen, le hagan un clic. 6 00:00:45,240 --> 00:00:56,259 Bien, la lista está vacía, si le damos a añadir una nueva, cualquier botón para poder ejecutar métodos le tenemos que vincular a un GameObject, 7 00:00:56,259 --> 00:00:59,640 que a su vez tenga vinculado ese script con esos métodos 8 00:00:59,640 --> 00:01:04,040 entonces lo más práctico es crearse un empty object 9 00:01:04,040 --> 00:01:07,980 con un script que contenga todas las funciones que queremos ejecutar 10 00:01:07,980 --> 00:01:12,280 de nuestro user interface e irlo vinculando a cada botón 11 00:01:12,280 --> 00:01:16,519 para hacerlo voy a crear como he dicho un nuevo empty 12 00:01:16,519 --> 00:01:21,019 lo voy a cambiar el nombre, le voy a llamar buttons 13 00:01:21,019 --> 00:01:30,120 y a este sí le voy a vincular un script que he creado exclusivamente para ello. 14 00:01:31,379 --> 00:01:33,840 Y en él puedo añadir tantas funciones como quiera. 15 00:01:34,060 --> 00:01:38,840 Muy importante, las funciones tienen que ser públicas para poder acceder desde fuera. 16 00:01:39,359 --> 00:01:44,260 Bueno, ahí ya vamos poniendo lo que nosotros queramos. 17 00:01:44,260 --> 00:02:16,650 Y ahora sí, en Unity, seleccionamos el botón, nos vamos a la opción que nos permitiría vincular a funciones, donde hemos añadido una nueva, vinculamos ese Empty Object que hemos creado aquí al GameObject que nos está pidiendo y como vemos, ahora sí que se nos activa el desplegable con todas las funciones disponibles. 18 00:02:16,650 --> 00:02:20,530 aparecen las del GameObject que he vinculado 19 00:02:20,530 --> 00:02:25,659 de hecho para que se vea me lo voy a traer un momentito aquí 20 00:02:25,659 --> 00:02:28,500 y ahí están las funciones 21 00:02:28,500 --> 00:02:33,439 donde me aparece el GameObject que he creado y las funciones 22 00:02:33,439 --> 00:02:38,960 vinculadas. Tiene otras muchas pero por supuesto están las que yo quería 23 00:02:38,960 --> 00:02:41,840 entonces le puedo decir que cuando clique este botón 24 00:02:41,840 --> 00:02:45,099 ejecute la función saludar 25 00:02:45,099 --> 00:02:47,460 de forma que ahora efectivamente 26 00:02:47,460 --> 00:02:49,860 si ejecuto el juego 27 00:02:49,860 --> 00:02:54,379 por supuesto el botón tiene las animaciones que le he creado yo antes 28 00:02:54,379 --> 00:02:55,319 y si le hago clic 29 00:02:55,319 --> 00:03:00,500 vemos que aparece el mensaje 30 00:03:00,500 --> 00:03:03,039 y esto como siempre 31 00:03:03,039 --> 00:03:05,319 y siempre que hemos manejado este tipo de funciones 32 00:03:05,319 --> 00:03:10,039 le puedo hasta pedir parámetros en mi método 33 00:03:10,039 --> 00:03:19,349 y le pido que me muestre en consola 34 00:03:19,349 --> 00:03:20,849 el parámetro que yo le he mandado 35 00:03:20,849 --> 00:03:30,250 Y efectivamente ahora, si selecciono la función saludar, me está pidiendo un parámetro, en este caso de tipo cadena de texto. 36 00:03:30,930 --> 00:03:37,750 Y le pongo hola desde el botón con parámetro. 37 00:03:39,879 --> 00:03:48,879 Y si le doy a play, efectivamente, al hacer clic sobre este botón, ejecuta la función, el método asociado al GameObject que he vinculado. 38 00:03:48,879 --> 00:03:52,979 y efectivamente me recoge ese parámetro. 39 00:03:53,759 --> 00:03:57,020 Bien, con esto hemos visto las funciones básicas del User Interface 40 00:03:57,020 --> 00:04:00,319 para poner textos, imágenes, dotarles de interactividad 41 00:04:00,319 --> 00:04:03,879 y por supuesto botones, que es lo más básico a la hora de crear menús. 42 00:04:04,560 --> 00:04:06,900 Con eso y con un poquito de imaginación 43 00:04:06,900 --> 00:04:08,580 y desde luego con más gusto del que yo tengo 44 00:04:08,580 --> 00:04:10,819 se pueden hacer verdaderas maravillas. 45 00:04:11,199 --> 00:04:15,080 No hace falta que lo diga, pero yo he puesto una imagen de fondo 46 00:04:15,080 --> 00:04:18,959 pero quien ha puesto una imagen puede poner un entorno 3D. 47 00:04:19,459 --> 00:04:27,439 Entonces yo puedo poner un canvas con fondo transparente sobre un escenario en el que he creado mis animaciones, 48 00:04:27,560 --> 00:04:30,079 donde tengo mis personajes animados, en fin. 49 00:04:31,220 --> 00:04:35,199 De nuevo, a echar la imaginación y a hacer cosas realmente bonitas.