‫Hola y bienvenido.
‫En esta lección, vamos a hacer que cuando uses todos tus proyectiles, tu juego se
‫reinicie automáticamente en el nivel actual.
‫Después de una pausa de 5 segundos, profundicemos y veamos cómo se hace esto.
‫Entonces, un elemento de este juego que no es particularmente divertido en este momento es que cuando te quedas sin munición, es un
‫callejón sin salida.
‫No puedes volver a intentarlo, no puedes hacer nada más, no puedes pasar a otro nivel.
‫Ahora, la forma en que puede solucionar esto es permitiéndonos recargar en el nivel actual.
‫La forma en que puede hacerlo es usando una nota especial en Blueprint.
‫Entonces, si hace clic con el botón derecho en el gráfico de eventos, abre su plano de nivel y hace clic con el botón derecho en el gráfico de
‫eventos.
‫Podemos buscar el nivel abierto.
‫Y hay dos opciones aquí.
‫Hay un nivel abierto por nombre y un nivel abierto por referencia de objeto.
‫Podemos usar el nivel abierto por nombre.
‫Así que aquí tienes un nodo que obviamente tiene efectos secundarios porque va a recargar el nivel y tiene una entrada,
‫que es el nombre del nivel aquí.
‫Ahora, ¿cómo obtenemos el nombre del nivel actual?
‫Podríamos simplemente escribirlo, pero si accidentalmente cambiamos el nombre de este nivel en algún momento en el futuro, bueno, lo que
‫podemos hacer también es hacer clic derecho y obtener el nombre del nivel actual, lo que nos da otro nodo que devuelve el nombre
‫del nivel actual. .
‫Curiosamente, esta no es una función pura.
‫No tengo ni idea de por qué porque parece que debería ser.
‫Y lo que podemos hacer es que podemos.
‫Aunque estos dos tipos son diferentes, uno de ellos devuelve una cadena y el otro requiere algo
‫del nombre del tipo.
‫De hecho, es posible convertir muy fácilmente entre cadenas y nombre para que podamos arrastrar desde el valor de retorno
‫al valor de entrada, y se creará automáticamente un nodo de conversión para nosotros.
‫También necesitamos conectar el punto de ejecución entre estos dos.
‫Así que vamos a convertir el nombre del nivel actual y luego abrir el nivel.
‫Ahora, ¿cuándo es que queremos hacer esto?
‫Actualmente todo sucede en un evento clave o comienza a jugar, pero hay otra opción.
‫Lo que podemos hacer es tener un nodo especial en el gráfico de eventos raíz, por lo que no dentro de las funciones sino dentro del
‫gráfico de eventos raíz llamado nodo de retraso.
‫Entonces, lo que vamos a hacer es después de presionar el botón de munición agotada, vamos a quitar el pin de
‫ejecución aquí y buscar el retraso.
‫Y luego pueden ver que trae un tipo especial de nodo con un reloj.
‫Y esto significa que la salida no ocurre instantáneamente después de que finaliza la función, sino que ocurre después de una cierta
‫cantidad de tiempo.
‫Como puede ver, podemos ingresar la duración aquí, y esa duración podría ser de 5 segundos, por ejemplo.
‫Entonces, en mi cadena de impresión, voy a actualizarla para decir que se reinicie sin munición en 5 segundos y luego punto, punto,
‫punto.
‫Y luego podemos conectar el código que reinicia el nivel en la salida, el nodo completo del nodo de
‫retraso.
‫Entonces, si seguimos adelante y jugamos ahora, lo que vamos a ver es que puedo quedarme sin munición, terminar toda mi munición,
‫me he quedado sin munición.
‫Y dice Reiniciar en 5 segundos y después de que hayan transcurrido 5 segundos, boom, el nivel acaba de reiniciarse.
‫Un pequeño desafío para esta lección es extraer una función de esos nodos que acabamos de crear, obtener el nivel
‫actual, el nombre y el nivel abierto.
‫Y mi desafío para usted es pensar en un buen nombre para esta función.
‫Pausa el video y pruébalo.
‫Bueno.
‫Bienvenido de nuevo.
‫Bueno, lo llamaré nivel de reinicio porque eso es lo que creo que está haciendo.
‫Así que voy a hacer clic derecho en una función colapsada y llamarla nivel de reinicio y está bien con las entradas
‫actuales.
‫No necesita ser puro porque tiene el efecto secundario de reiniciar el nivel.
‫Así que no querríamos que fuera puro de todos modos.
‫Eso es todo.
‫Solo voy a reorganizar mis nodos ligeramente y eliminaré mi nodo de prueba y eliminaré mi función de prueba haciendo clic
‫derecho sobre él en mis planos y presionando eliminar.
‫Y tenemos un pequeño gráfico modelo condensado que en realidad describe exactamente lo que nuestro juego puede
‫hacer a un nivel muy alto.
‫Así que estoy satisfecho con los resultados de eso.
‫Parece que tenemos un buen ciclo de juego y nos vemos en la próxima lección.