Transcripciones
1. Introducción: En este curso, vamos a aprender los conceptos básicos de los planos pasando juntos por el lenguaje para luego crear un pequeño juego a partir de lo que hemos aprendido. Si te interesa alguno de mis otros cursos, puedes consultar mi perfil en este sitio web, si se trata de planos para crear tu propio juego sin escribir una sola línea de código. O si estás enfocado en aprender Unreal Engine cinco en general, puedes encontrar un curso adecuado para ti. Bombshell que liberé en vapor es un ejemplo de un juego solo usando planos. Esto es especialmente útil para artistas como yo para programar de nuevo de principio a fin, pesar de que no tengo antecedentes de programación,
adelante y echa un vistazo a mi perfil para ver qué cursos se liberan hasta ahora, mi nombre es Mustafa, y yo soy el CEO, director de
juegos, y diseñador de entretenimiento forrajeado de Titán. He estado trabajando en Unreal Engine durante los últimos seis años y recientemente he lanzado cola de granja en vapor, que se recibe de manera muy positiva. También he pasado 1.5 años desarrollando mi proyecto personal, compré Kraft, y actualmente estoy dirigiendo, diseñando y programando el nuevo gran título de mi empresa, que es un juego de plataformas 3D sin previo aviso. Este curso contiene todo lo necesario para comenzar con Unreal Engine cinco, incluida mi experiencia personal a lo largo de los muchos años y proyectos en los que he trabajado. Al finalizar este curso, podrás programar usando planos y crear tu propio juego pequeño desde cero. Este curso se divide en secciones y vamos a cubrir y Unreal Engine 5, visión general y navegación, fundamentos de blueprint, variables y matrices, eventos, funciones y macros,
enumeración, Clases de Blueprint, actores blueprint, Blueprint, Blueprint comunicación. Y al final, vamos a crear un juego a partir de lo que hemos aprendido. Diseñé este curso para cualquiera que esté interesado en crear juegos en Unreal Engine cinco, o lucha por crear un juego que esté a la altura de los estándares actuales de la industria. Espero que se inscriban y se unan a mí en este curso. Y también recuerda que estoy aquí todo el camino a lo largo del curso para ayudarte. Espero verte pronto.
2. Descarga del motor: Descargar Motor Unreal cinco. Primero tienes que descargar el lanzador de Juegos Epic. Y hacer esto, tienes que entrar a Epic games.com. Y desde aquí puedes hacer click en este botón azul llamado get Epic Games. Al hacer clic en él, descargarás el lanzador de Epic Games, que ya he hecho. Entonces este es el épico lanzador de Juegos. Y dentro del lanzador quieres hacer clic en el botón Unreal Engine. Y dentro del botón Unreal Engine, y puedes ver diferentes pestañas aquí arriba. Haga click en Unreal Engine 5 y haga clic en Descargar acceso anticipado. Ya he hecho esto. Por lo que dentro de la biblioteca se pueden ver los motores descargados. Y este es Unreal Engine cinco. Entonces esto es lo que vamos a usar para este curso. Creemos nuestro primer proyecto en la siguiente lección.
3. Crear el proyecto: De acuerdo, así que vamos a crear un nuevo proyecto dentro de la pestaña Biblioteca en Unreal Engine, lanzamos el motor. Cuando el motor se haya puesto en marcha, se
puede ver esta pestaña que viene y es el Navegador de Proyectos Unreal. Aquí podrás ver todos los proyectos que has realizado anteriormente. Y si no has hecho ningún proyecto previamente, obviamente estará vacío. Y así queremos trabajar dentro de la pestaña Juegos. Hay otras pestañas para cine y video y arquitectura y así sucesivamente. Pero queremos trabajar en juegos. Y lo que suelo hacer es normalmente empezar con un proyecto en blanco porque me gusta crear todo desde cero. Por lo que más aprendemos. Pero todas estas plantillas, estas se pueden crear a partir del proyecto en blanco. Pero estas plantillas pueden empezar si eres un bastante nuevo en el motor. Por ejemplo, si quieres hacer un juego de disparos en primera persona, tienes esta plantilla en primera persona o el rompecabezas y tercera persona y así sucesivamente. Pero de nuevo, todas estas plantillas se pueden hacer desde cero, desde el proyecto en blanco. A la derecha, vamos a elegir blueprint porque esto es lo que vamos a usar. Y este tubo es fino, Preestablecido de máxima calidad. Y quiero desmarcar el contenido de arranque. No necesitamos ninguno y no vamos a usar el rastreo de rayos. Y a este proyecto, puedes llamarlo como quieras. Sólo voy a llamarlo planos y hacer clic en Crear proyecto. Entonces y se abre el proyecto. Esto es lo que verás. Entonces este es Unreal Engine cinco. Y en la siguiente lección, hablemos de la interfaz de Unreal Engine 5. Antes de ir a los planos.
4. Primeros pasos en el motor Unreal: A pesar de que este es un curso de planos, quiero ir un poco sobre el Unreal Engine y la interfaz. Porque a pesar de que eres programador, tienes que saber un poco sobre el motor y cómo trabajar. En ocasiones el cliente quiere que añadas una luz, o quieren que elimines algo, quieren que cambies algunas propiedades. Y también cuando estás programando, tienes que cambiar algunas propiedades y tienes que saber dónde en el motor puedes encontrar las cosas. Por lo que para empezar, podemos empezar a la parte superior izquierda. Tenemos todos estos botones por defecto que también has visto en otro software. En archivo aquí podemos crear un nuevo nivel, podemos abrir un nuevo proyecto, podemos guardar el proyecto actual, tenemos una edición. Lo importante son las preferencias del editor. Entonces si quieres editar algo dentro de tu editor, aquí está la preferencia es por ello. No he trabajado demasiado dentro de aquí, pero puedes ver aquí que puedes, puedes editar el editor a tu gusto. Y tenemos la configuración del proyecto. Dentro de la configuración del proyecto, estarás trabajando mucho y lo llegaremos más adelante también. Pero dentro de aquí, por ejemplo, puedes cambiar el modo de juego en el que estás trabajando. Llegaremos a eso más adelante. Y puedes cambiar la película para cuando arranca tu juego. Esta es la configuración de empaque para cuando termines con tu juego y descripción y así sucesivamente. Entonces muchas de dichas configuraciones con las que tienes que trabajar cuando estás haciendo un videojuego. El siguiente es los plugins. En algunos de los plug-ins, puedes ver que puedes habilitar y deshabilitar muchos plugins. Y lo más importante para mí cuando inicio un proyecto es dentro de la realidad virtual. Normalmente siempre desactivo Oculus VR y desactivo el vapor VR cuando creo un nuevo proyecto. Porque cuando pones este juego en Steam y no es un juego de VR, se abrirá en modo VR por alguna razón, lo
cual hizo para la cola de granja cuando lanzé mi juego en Steam, lo general
se abrió en VR a pesar de que no era un juego de VR. Por lo que usualmente solo digo, bueno dosificar y reiniciar el motor. Pero por ahora no tienes que hacer esto. Entonces realmente no vamos a necesitar desactivarlos, pero yo sólo lo hice para que pudieras verlo. Está bien. Y lo siguiente es ventana dentro de aquí. Puedes abrir varias ventanas si así lo deseas. Por ejemplo, puedes ver aquí tenemos un panel de detalles dentro de los detalles de Windows. Se puede abrir un segundo panel Detalles. Y se puede ver aquí estas son en realidad las mismas ventanas. Entonces si hice clic en algo dentro de la ventana gráfica, se
puede ver que esta misma información se muestra en ambos lugares. Por lo que dentro de ventana puedes abrir múltiples ventanas. Y esto es muy útil si tienes múltiples pantallas. Entonces por ejemplo, puedo jalar esto a mi segunda pantalla y puedo trabajar ahí. ahora no tenemos cosas más importantes dentro de Windows. Dentro de herramientas, saltaremos esto por ahora y especie de construcción. Nos saltaremos esto por ahora. Y mHealth, puedes leer sobre la documentación de Unreal Engine. Lo siguiente es aquí abajo tenemos un botón de guardar. Dentro del botón crear. ¿ Es esto importante para? Aquí puedes crear diferentes activos. Por ejemplo, las luces. Si haces clic en la luz puntual, puedes ver que has creado una luz puntual. Voy a volver a borrarlo pulsando el botón Eliminar de mi teclado. Y dentro del Creador tienes formas. Se puede crear un cubo, esfera, cilindro, plano cono. Se pueden crear cámaras, efectos visuales, volúmenes. Llegaremos a eso más tarde. Y estas son todas las clases que puedes crear. El contenido es que puedes abrir un nuevo navegador de contenidos. Y el navegador de contenido en realidad está aquí abajo. Si haces clic en este botón o si haces clic en Control de espacio, y esto también lo hará aparecer. Pero si haces clic en los navegadores de contenido, esto es en realidad lo mismo que éste. Por lo que tienes múltiples ventanas para que eso a los planos. Esto es en realidad con lo que vamos a trabajar principalmente. Y dentro de aquí puedes programar el juego. Podemos crear una nueva clase de blueprint y abrir el Level Blueprint el cual funcionará más adelante. No te preocupes por ello por ahora. Y en las cinemáticas no vamos a tocar aquí. Se puede crear cinemáticas. Tenemos diferentes herramientas aquí tenemos la herramienta Seleccionar, o puedes seleccionar diferentes cosas. Contamos con la herramienta de paisaje, que
puedas crear un paisaje para el juego. Tenemos una herramienta de follaje aquí. Podrás complacer follaje como hierba y plantas de vegetación, así sucesivamente. Contamos con la herramienta de pintura de malla. Entonces si tienes una malla como esta y el suelo, puedes pintar en ella si tienes una textura, pero no te preocupes por ello por ahora. Este es un plano puntúa, no un, un curso de artista. Tenemos la herramienta de fractura, y esto es autoexplicativo, y tenemos la herramienta de edición de pinceles por aquí. Tenemos el botón Play. Por lo que si haces clic en jugar, puedes jugar el juego en el que estás trabajando actualmente. Por lo que esto vamos a utilizar mucho. Si haces clic en los tres puntos que hay a su lado, puedes abrir el juego en un nuevo editor en lugar de abrirlo dentro de la ventana gráfica. Y, y plataformas aquí puedes empaquetar tu juego a diferentes, diferentes plataformas. Y en los ajustes de la derecha, puedes ver los ajustes del mundo. Llegaremos a eso más tarde. Se puede ver la configuración del proyecto con la que ya lo hicimos desde aquí arriba. Y también puedes ver los plug-ins que ya vimos dos. De acuerdo, entonces volveré a la herramienta de edición aquí. El siguiente elemento importante es el panel Detalles a la derecha. Por lo que en el panel Detalles, puedes ver aquí diferentes propiedades. Por lo que si haces clic en diferentes cosas dentro del puerto de vista, puedes ver que se muestran diferentes detalles. Y estos son los detalles para lo que habrás seleccionado en tu ventana gráfica. Ahora si selecciono mi malla de tierra, se pueden
ver las diferentes propiedades que tiene. Tiene la ubicación donde se encuentra, tiene la rotación, la escala. Entonces, por ejemplo, si cambio esta ubicación, puede hacer clic y arrastrar. Se puede ver que cambia la ubicación. También puedes simplemente escribir un número. Hay muchos ajustes como física, colisión, el renderizado de iluminación, navegación, etc. Estos son todos los detalles para lo que
seleccionas y por supuesto hay unos detalles diferentes para lo que elijas. Entonces si selecciono la iluminación, puedes ver aquí puedo cambiar la intensidad de la luz. Si selecciono la esfera de reflexión, puedo cambiar el brillo de la misma, el radio de la misma, y así sucesivamente. Entonces este es el panel Detalles y es muy importante
vamos a trabajar mucho con esto. El panel celular. Tenemos el World Outliner, que se puede ver aquí a la derecha. Si haces click en el World Outliner, esto es en realidad lo que tienes dentro del nivel en el que estás trabajando actualmente. Entonces por ejemplo, tenemos esta malla de tierra. Si hago clic en esta malla de suelo y hago clic en el World Outliner, puedes ver aquí que he seleccionado este piso. Y si hago click en este, este es el tragaluz. Y si hago clic en la palabra outliner, se
puede ver que he seleccionado el tragaluz. También puedes seleccionar los diferentes elementos dentro de la ventana gráfica haciendo clic aquí en lugar de los elementos de aquí. Entonces si hiciste clic en ellos, puedes ver que está seleccionándolos dentro de la ventana gráfica. Ahora estos son todos los artículos que tienes dentro de tu nivel. Los ajustes mundiales aquí, principalmente vamos a cambiar el modo de juego si queremos hacer algo aquí dentro. Y esto es para planos, no te
preocupes por ello por ahora. Por lo que no vamos a trabajar mucho dentro de los escenarios mundiales por ahora. El último antes de entrar al mirador es el cajón constante. Por lo que si hace clic en este botón o si hace clic en el espacio de control, aparecerá el dibujo de contenido. Dentro de este cajón de contenido puedes ver carpetas y aquí es donde estarán todos tus archivos para el juego. Entonces si tienes un personaje o un, un enemigo y MPC, por ejemplo, si tienes un modelo de una moneda que quieres usar en el juego, todos estos archivos están dentro de aquí. Y una vez que tengas el archivo dentro de aquí, en realidad
puedes arrastrarlo dentro de tu nivel. Entonces por ejemplo, puedo tener una poción de salud o una poción de manera que quiero exhibir aquí. Puedo arrastrarlo dentro de mi juego. Entonces aquí están todos tus archivos. Lo que puedes hacer es que también puedes crear nuevas carpetas haciendo clic derecho aquí. Crea una nueva carpeta. Puedes hacer clic derecho en la carpeta, y también elegiré diferentes colores para ella si te gusta organizar las cosas. Por lo que ahora puedes tener colores para tus carpetas y también puedes agregarlos a favoritos si lo deseas,
para un fácil acceso, accediendo fácilmente a ellas. Por lo que voy a eliminar esta nueva carpeta haciendo clic en ya sea haciendo clic derecho y eliminar. O simplemente voy a hacer clic en Eliminar en mi teclado. Si no quieres hacer clic en control y espacio todo el tiempo para obtener este dibujo de contenido o arriba, realidad
puedes hacer clic en el cajón Contenido y hacer clic en Dock y maquetar todo este pato, el Han, el navegador de contenidos. Y en realidad apareció aquí arriba por alguna razón. Lo que puedes hacer un agente oral es que en realidad puedes hacer clic y arrastrar las pestañas para moverlas. R. Para este, solo voy a hacer clic, hacer clic derecho y hacer clic en la pestaña Restaurar. Y se puede ver aquí en realidad es un tabulador ahora. Pero lo quiero aquí abajo igual que el habitual Motor Unreal, igual que el motor normal para. Entonces lo arrastraré hacia abajo y lo pondré aquí abajo. Y puedo reducirlo, así que tengo más espacio. Puedes trabajar con este navegador de contenidos como quieras, en lugar de hacer clic en lo congénito todo el tiempo. Y si no quieres esto de todos modos, puedes hacer clic con el botón derecho y hacer clic en Cerrar y volverás a donde empezaste. Pero para que este curso te facilite verlo todo el tiempo, solo
voy a hacer clic en Dock y layout y que esto aparezca todo el tiempo. De acuerdo, Entonces lo último más importante en realidad dentro del motor es la ventana gráfica. Esto es muy importante porque aquí es lo que harás, aquí es donde verás tu juego. Para navegar por el interior de la ventana gráfica, hay
que hacer clic, mantener pulsado, hacer clic y mantener pulsado, hacer clic derecho en el botón del ratón. Aquí puedes ver que puedes mirar a tu alrededor mientras haces eso. Mientras estaban sosteniendo el botón derecho, puedes hacer clic en un, W, D, y S. Así que aquí puedes moverte en la ventana gráfica mientras Leila, estás sosteniendo el botón derecho del ratón, puedes ver que puedes mover el ratón y moverse por ahí. Y se siente bastante incómodo si no estás acostumbrado. Pero si curiosear a jugar juegos, esto se siente muy natural. Simplemente jugando, presionando a, W, D, y S mientras mantienes pulsado el botón derecho del ratón, consejo mantenga pulsado el botón izquierdo del ratón. Y puedes ver que puedes moverte si mueves el ratón. Y usualmente nunca uso esto. En realidad nunca lo uso. lo que normalmente solo tengo que mantener pulsado el botón derecho del ratón y muevo cuando estoy trabajando. También se puede utilizar la rueda del ratón para acercar y alejar. O simplemente puede simplemente otra vez,
sólo tienes que acercarte con el botón derecho del ratón manteniendo pulsado el botón derecho del ratón añadir movimiento alrededor. Entonces esto es lo mismo. También puede moverse hacia arriba y hacia abajo manteniendo pulsado el botón izquierdo del ratón y el botón derecho del ratón. Y se puede ver aquí se pueden mover hacia arriba y hacia abajo. Y de nuevo, nunca uso esto, pero esta ahí si quieres usarlo. Y dentro de la ventana gráfica tenemos diferentes botones. Tenemos este botón. Y dentro de aquí se puede mostrar el FPS. Esto es muy importante cuando creas tu juego. Para que veas que tu juego no está rezagado porque es un optimizado. En realidad también puedes ver diferentes pasos para cuando estás optimizando tu juego. No nos meteremos dentro de la optimización del juego por ahora. Se puede cambiar el campo de visión. También puedes muy importante hacer click en la vista del juego y cuál es la vista del juego, puedes ver que oculta todos los iconos dentro del puerto de vista. Y esto es bastante bueno para cuando quieres ver tus juegos sin ninguno de estos iconos en la vista. Por lo que en realidad puedes hacerlos aparecer de nuevo haciendo clic en la vista del juego. O puedes presionar G, Esto es lo que suelo hacer. Entonces si ves que mis iconos aparecen y desaparecen, esto es porque estoy presionando G una y otra vez. El siguiente cosa importante es el modo inmersivo. Por lo que esto va a pantalla completa la ventana gráfica. Y esto es bastante genial para cuando quieres ver tu juego completamente. Por lo que y también acceder a ella presionando f 11. Entonces si 11 minimizará y maximizará la ventana gráfica y G hará que los iconos desaparezcan. Por lo que ahora puedes ver tu juego sin un LD nieva iconos en tu vista. Entonces volveré a presionar G, y presionaré f 11 para volver a la vista normal. Y lo último aquí que suelo hacer es o crear una cámara. Si quieres crear una cámara donde estás de pie en este momento, puedes hacer click en Crear cámara aquí y elegir qué tipo de cámara quieres. También puedes tomar una captura de pantalla de lo que estás viendo en este momento. El siguiente es que puedes cambiar entre los modos de perspectiva. Entonces, por ejemplo, puedes ver la vista superior de tu juego. quiere cambiarlo a botón, abajo a izquierda, derecha. Y esto es bastante genial para cuando quieres colocar algo muy específicamente. Por ejemplo, si quieres esto en el medio, puedes dar click en disturbios, puedes hacer click a la izquierda y también asegurarte de que esté en el medio y así sucesivamente. En lugar de intentar, para que vaya dentro del medio, el modo perspectiva, entonces es mucho más fácil usar estos modos de vista. Contamos con los modos de iluminación. Entonces dentro de estos modos de vista, tenemos el liderato, en lo que estamos actualmente. Y esto ve el juego con la iluminación que tenemos actualmente. También podemos ver el juego sin ninguna iluminación. Y para que puedas ver tenemos diferentes modos de vista que podemos usar. Dentro del espectáculo. Puedes mostrar y eliminar elementos que no quieras ver. Por ejemplo, iconos aquí. Y a la derecha. Muy importante. En realidad voy a volver al modo LED. Y a la derecha aquí, tienes diferentes herramientas que puedes seleccionar. Esta es la herramienta de selección. Entonces esto es para seleccionar o hacernos capaces de seleccionar elementos dentro de la ventana gráfica. Contamos con la Herramienta Mover. Por lo que aquí puedes ver aparecer un punto de pivote. Y cuando arrastras los puntos de pivote, los mueves en estas direcciones respetuosamente. Por lo que puedes hacer eso con todos los artículos dentro de ese nivel. Si haces click en la bola blanca y en el medio, puedes moverla en todas las direcciones diferentes. Si haces clic en el cuadrado de cualquiera de estos ejes, puedes moverlo, moverlo en dos ejes diferentes. En lugar de uno, tenemos la herramienta de rotación. Por lo que con la herramienta de rotación, puedes rotar el artículo. Por lo que si hago click en la malla de suelo y hago clic aquí, se
puede ver que la gira o el eje que he seleccionado. El siguiente es la herramienta de báscula. Por lo que para la herramienta de escala, puedes elegir escalarla en diferentes direcciones. O puedes optar por hacer clic en el cuadrado blanco para que se escale uniformemente. Y lo que suelo hacer, y esto es muy importante, es usar el teclado para estas herramientas. Por lo que lleva mucho tiempo hacer clic en la herramienta Mover y luego mover el suelo y luego quieres rotarlo. Haz clic en la herramienta de rotación aquí arriba y la rotas y así sucesivamente. Lo que es mucho más fácil de hacer es hacer click en la cola. Si quieres elegir la herramienta Seleccionar, dar click en W. Si quieres moverte, click en e Si quieres rotar y dar click en R si quieres escalar. O Q, W, E, R. Así que por ejemplo, como mirar NOSOTROS para moverlo. Haré clic en E para rotarlo. Doy clic en R2, escalarlo hacia abajo, tal vez así pueda hacer clic en W para moverlo de nuevo y así sucesivamente. El siguiente es las herramientas de chasquido. Entonces el chasquido, puedes ver aquí, cuando muevo este terreno, no
se está moviendo sin problemas. Esto se debe a que tenemos el chasquido encendido. Y ahora mismo se está rompiendo cada 10 y la grilla. Entonces si lo hago 50, se
puede ver que se está rompiendo mucho más en una distancia más amplia. Entonces si y yo puedo desactivar este chasping haciendo clic en este ícono aquí, y se puede ver que aparece blanco. Y esto se debe a que ya no está habilitada. Y puedo mover la malla del suelo sin problemas. Lo mismo va para los giros. Entonces si giro ahora gira cada diez grados. Puedes cambiarlo a otro número o puedes desactivarlo haciendo clic en el icono. Y ahora puedes, puedes rotarlo sin problemas. Y esto es lo mismo con la herramienta de rotación o escala. Aquí puedes cambiar la velocidad de la cámara. Esto también es muy importante. Entonces si quieres trabajar con algo muy cerca, quieres, no quieres tener una cámara muy rápida. Entonces lo que quieres hacer es reducir la velocidad de la cámara. Y ahora podemos trabajar con algo muy cercano. O si tienes un mundo muy enorme, quieres aumentar la velocidad de la cámara para que pueda moverse mucho más rápido. Y lo último son estas ventanas gráficas. Por lo que si hace clic en este botón, se pueden ver todas las diferentes vistas al mismo tiempo. Entonces aquí tenemos la vista en perspectiva, tenemos la vista posterior, vista
derecha y una vista superior. Y aquí se puede trabajar con las diferentes vistas en lugar de solo tener una a la vez. También puedes maximizar una de las ventanas gráficas haciendo clic en este botón aquí. Y puedes volver atrás haciendo clic nuevamente en el botón y maximizar la ventana gráfica. Ok, y su última cosa importante es salvar tu trabajo. Simplemente puede hacer clic en Archivo y Guardar todo. Pero por ahora, no lo voy a hacer porque realmente no quiero salvar este nivel. Yo solo quería mostrarte cómo usar el motor. Crearemos nuestro propio nuevo nivel en las próximas lecciones. Por lo que esto fue todas las cosas importantes dentro del motor. Está bien para que no lo sepas todo. Si eres bastante nuevo en el motor, lo conocerás paso a paso. Pero estos son todo el paso importante para que empieces. Entonces pasemos a la siguiente lección y aprendamos más sobre los planos.
5. ¿Qué son los planos?: Muy bien, así que antes de empezar a hacer algún plano, quiero explicar cuáles son los planos. Entonces cuando digo planos, en realidad eres programador. Si estás trabajando con planos, no es el, otra
cosa o no estás haciendo trampa o lo que sea. Los planos son una forma de programación. Y en realidad es una programación visual. Por lo que se llama scripting visual. Y lo que haces con los planos es en realidad, puedes ver aquí es muy visual. El otro lenguaje de programación, por ejemplo, C plus que puedes elegir en Unreal Engine. Esto es lo que parece y probablemente lo hayas visto previamente. Esto probablemente no significa nada para ti si
no eres programador y parece muy confuso. Es por eso que los planos son tan bonitos. Es mucho más fácil de usar y puedes visualizar lo que realmente estás haciendo. Entonces esto es un cambio de vida para los artistas. Y algunas personas piensan que los planos son débiles, que no se pueden crear juegos poderosos con él. Ashley, creé mi juego en fontanelle de Steam totalmente en Blueprints. No hay ni un solo código C más. Además, puedes crear otros juegos que tengo. He puesto un par de juegos que
definitivamente puedes crear planos con o sin ningún problema, sin ningún rezago ni nada más. Por ejemplo, mario, una plataforma donde puedes crear definitivamente con planos. También puede crear un juego como el bosque, que actualmente se encuentra en Steam. También puedes crear valle iniciado, o puedes crear Minecraft. También puedes crear otros juegos como Counterstrike y así sucesivamente. Por lo que los planos son muy poderosos y en realidad puedes crear cualquier cosa que tengas en mente. De acuerdo, Así que basta de lo que son los planos. Vamos en realidad al interior del motor y empecemos a mirar la interfaz del editor de blueprint.
6. Configuración y diseño de la estructura de la hoja de planos: De acuerdo, entonces antes de que hagamos algo más dentro del motor, en realidad
quiero crear un nuevo mapa. No quiero trabajar en el que estamos precios practicados anteriormente. Entonces lo que voy a hacer es dar click en Archivo y dar click en nuevo nivel. Y voy a elegir el predeterminado sólo para que tengamos un, un nivel sería iluminación. Voy a dar click en el valor predeterminado. Y ahora te pide que ahorres este nivel por aquí. En realidad estoy haciendo clic, no guardes porque no quiero guardarlo. Una vez que hayas creado su nuevo nivel, puedes seguir adelante y hacer una nueva carpeta aquí abajo. Y puedes llamarlo mapas. Y lo que puedes hacer es en realidad salvar este nivel dentro de aquí. Entonces voy a dar clic en Guardar todo y te da que no pasa nada. Esto en realidad es porque no he hecho nada aquí. Entonces si solo hago clic en algo y lo muevo, puedo volver a hacer clic, guardar todo. Ahora me pide que guarde el nivel. Voy a entrar dentro de los mapas y lo voy a llamar mapa. Y no importa. Yo sólo lo voy a llamar tutorial. Siempre es agradable tener una convención de nomenclatura frente al, los archivos porque cuando tienes un juego enorme, quieres buscar algo. Siempre es más fácil simplemente escribir mapa y aparecerán todos tus mapas. Entonces este es el nuevo nivel que hemos creado, y voy a dar clic en Guardar todo. Y ahora podemos trabajar dentro de este nivel. Voy a dar click en esta esfera de reflexión y dar clic en Eliminar. En realidad no lo voy a necesitar. También haciendo clic en la niebla, haciendo clic en Eliminar, y ahora no tengo este nivel. Por lo que para contestar los planos, tenemos o los planos de nivel o si aún no lo has visto, puedes hacer clic derecho aquí abajo. Y se puede ver que se puede crear una clase de blueprint. Dentro de aquí, hay muchos planos diferentes. Por lo que estos con los que trabajaremos más adelante. No te preocupes por ello por ahora. Hagamos que sea fácil empezar. Empezaremos aquí y los planos, y abriremos los Planos de Nivel. Entonces este es el editor de planos. Se puede ver que el editor casi tiene el mismo aspecto que la interfaz del motor por defecto. Contamos con el panel Detalles a la derecha. Tenemos un compilador aquí abajo. Y podemos ver las diferentes gráficas que hacemos. Por aquí. Tenemos algo llamado funciones, macros, variable, e incluso despachadores son sobre esos por ahora. Aquí arriba tienes los otros botones que también viste aquí. El material tiene diferentes botones. Había alrededor de un Fernando. Realmente no quiero que te confundas desde el principio, pero no te preocupes por ello por ahora. Los botones más importantes dentro de este editor es la descompilación. Entonces el Compilar es cuando creas un código y quieres limpiarlo, y luego puedes reproducirlo. Se hace clic en compilar y jugar. Cuando quieras encontrar algo, puedes dar click en Buscar y puedes buscar algún blueprint. No, haz eso lo tienes puedes ir dentro de la configuración de clase y puedes cambiar algo en su configuración de clase. Tienes los valores predeterminados de clase en los que puedes cambiar algunos ajustes. Y aquí en medio, que es muy importante, está todo el código que vas a escribir. Por lo que aquí puedes acercar y alejar usando el botón de desplazamiento del ratón. También puedes mantener presionado el botón derecho para moverte. Y solo tienes que mantener pulsado el botón derecho, moverte y la ventana gráfica para moverte. Mantén presionado el clic izquierdo para seleccionar todo el código que has escrito. Y todo esto se trata de las cosas importantes que tienes que saber dentro de este editor. Y de nuevo, todos los archivos que crees, en realidad
no los archivos ni las notas que crearás aparecerán aquí. Entonces, por ejemplo, si creas una variable que puedas usar tu más adelante, llegaremos a eso en los videos posteriores. Se puede ver aquí que el, que el nodo en realidad se crea por aquí a la izquierda. Pero vamos a eliminarlo por ahora. En realidad no lo vamos a necesitar. Entonces voy a hacer clic en el botón Eliminar, y voy a hacer clic en Archivo y Guardar todo. Hablemos de la orden de ejecución.
7. Orden de ejecución: De acuerdo, entonces hablemos un poco de la orden de ejecución. Y la orden de ejecución es en qué orden se ejecutará o, o se ejecutará el código. Por lo que para empezar a trabajar, las cargas van al interior de los planos de nivel. Y dentro de aquí, en realidad sólo
voy a crear una cadena de impresión. Por lo que esto imprimirá un texto en tu pantalla. Por lo que puedes ver aquí, puedes hacer clic con el botón derecho dentro del gráfico de eventos y puedes escribir cualquier nodo que quieras crear. También puedes encontrar nodos haciendo clic aquí abajo y haciendo clic en cualquiera de estos nodos. Y se puede ver aquí lo crea. Entonces lo que quiero hacer es dar click aquí en el pin de ejecución. Este es el pin de ejecución y este es un evento. No te preocupes por ello por ahora. Y esto es lo que sucederá cuando empecemos a jugar el juego. Y si arrastras desde la pluma de ejecución y solo escribes impresión, puedes ver aquí algo llamado cadena de impresión, y esto imprimirá un documento de texto en la pantalla. Entonces si haces clic en él y puedes moverlo. Y me gusta organizar las cosas. Y también puedes hacerlo recto seleccionándolo, manteniendo presionado el clic izquierdo, selecciona estas dos notas y haz clic en Cola. Esto los enderezará a ambos si tienes muchos de ellos. Y así esto imprimirá una cuerda de sprint. Por lo que diré mi primer mensaje y presionaré Enter. Y también puedes hacer clic en la flecha aquí abajo y puedes cambiar algunos ajustes. Entonces por ejemplo, quiero mostrarlo en la pantalla durante 10 segundos y el color debe ser rojo o naranja o donde sea. De acuerdo, voy a volver a hacer clic en la flecha sólo para ocultar esta información. Y quiero imprimir otro mensaje. Entonces si hago clic o sostengo este bolígrafo de ejecución y lo dejo ir, puedo escribir imprimir de nuevo y hacer clic en enter y hacer clic en otra cadena de impresión. También puedes simplemente copiar esto haciendo clic en Control C y Control V para copiarlo y pegarlo. De acuerdo, Entonces para este próximo, voy a decir segundo mensaje. De acuerdo, entonces ahora tengo dos mensajes y de nuevo, voy a mostrar por 10 segundos aquí abajo. Todo depende de ti y tal vez de este color. De acuerdo, Entonces ahora tenemos este código. Este es tu primer código. Y para terminar el código, tenemos que compilar. Por lo que recuerda compilar, el código funcionará y recuerda guardar. O puedo hacer clic en Archivo y Guardar todo. Esto depende de ti y puedes hacer click en lugar. Entonces cuando hago clic en jugar aquí, su símbolo es un simulador y es, ya
sabes, está jugando. Por lo que realmente no se puede agregar código porque estás haciendo clic en play, tienes que hacer clic en stop para agregar más código. Pero cuando haces clic en jugar es lo mismo que hacer clic en jugar aquí arriba. Entonces si hago clic en Jugar puedo ver que está splaying en este momento. Y por aquí a la luz dentro del mirador,
a la parte superior izquierda se puede ver que dice mi primer mensaje y segundo mensaje. De acuerdo, si vuelvo a hacer clic arriba una obra de teatro, se
puede ver a la parte superior izquierda dice mi primer mensaje y segundo mensaje. Por lo que la orden de ejecución es que el código siempre se ejecutará en orden cronológico. Por lo que comienza con la jugada inicial, el evento luego pasa a ésta, y luego pasa a ésta. Nunca podrá pasar de esto a esto sin correr esta parte. ¿ De acuerdo? Por lo que esto es muy importante de entender. Entonces déjame agregar algunos nodos más. En realidad, no tienes que seguir esto, pero solo quería mostrarte. Entonces digamos que tienes todo este código. Y el juego es, cuando juegas va a correr este y luego éste, y luego éste, y luego éste, y luego éste al final. Nunca va a jugar esto, Esto, y esto sólo va a jugar también este y este. ¿ De acuerdo? Por lo que esto es muy importante de entender. No se puede saltar en código, pero hay que ejecutar esta línea de código uno tras otro. Entonces esto fue todo por la orden de ejecución. Esto es muy importante de entender y
en realidad puedes simplemente eliminar este evento tick también si quieres. Y recuerda, siempre para compilar. Entonces este fue tu primer código y planos. Y en realidad esto es muy sencillo. Yo sólo quería mostrarles cuál es la orden de ejecución. Y recuerda, siempre se ejecuta en una línea de código. Nunca salta en esta línea. Y pasemos a las variables.
8. ¿Qué son las variables variables?: De acuerdo, entonces es muy importante entender las variables porque este es el principio principal en la programación. Y lo vas a usar todo el tiempo. Y qué variable es un contenedor que contiene información. Entonces, por ejemplo, puede contener cuántas monedas eres un jugador tiene. Puede contener qué tipo de cabello ha
elegido el jugador en la ventana de personalización de personajes. También puede contener cuánta salud tiene el jugador. Puede contener información sobre si el jugador está muerto o no, si el jugador está vivo o si el jugador está corriendo o no, o qué tan rápido está corriendo el jugador y así sucesivamente. Por lo que contiene todas estas diferentes informaciones. Si quieres crear una variable por aquí a la izquierda, puedes ver la pestaña de variables. Se puede hacer clic en el botón más. Y esto creará una variable. Puedes darle un nombre, y puedes elegir qué tipo de variable debe ser esta. Puedes ver aquí si haces click en la variable, también
tienes el panel Detalles. Y aquí de nuevo, se puede cambiar el nombre y se pueden cambiar diferentes propiedades para esta variable. En las próximas lecciones, quiero repasar cuáles son todas estas variables. Entonces quiero explicar todas estas variables y obtenemos una comprensión de ver qué va a hacer cada variable.
9. Integer, flanco y Byte: Muy bien, entonces los primeros tipos de variables de las que quiero hablar son el entero, flotar y morder. Entonces, para empezar, vamos a crear la variable. En realidad voy a eliminar estas cadenas de impresión que usamos antes. Y vamos a crear una nueva variable. Y el primero del que quiero hablar es el entero. Y llamemos a esto una cantidad de monedas. Por lo que puedes hacer clic derecho y hacer clic en Cambiar nombre, o simplemente puedes hacer clic en él y hacer clic en F2 y la cantidad correcta de monedas. Entonces este es el nombre de la variable. También podrías haberla cambiado por aquí si lo deseas, también cambiando el tipo de variable, si lo deseas, puedes hacerlo aquí. Y este, lo voy a arrastrar hacia fuera y dando clic en Get. Se trata de conseguir y establecer. Llegaremos a eso más tarde. Pero para conseguir también puedes, en lugar de arrastrar y hacer clic en gets, puede mantener presionado Control y arrastrarlo hacia fuera y todo es obtenerlo automáticamente. De acuerdo, Entonces la cantidad de monedas que puedes ver aquí,
dice, por favor, compile el blueprint con el fin de ingresar los valores. Por lo que haciendo clic en compilar, haremos que aparezca esto. Y aquí podemos establecer la cantidad de monedas que tiene el jugador. Entonces por ejemplo, 200 monedas. Y de nuevo, esto cambiará dinámicamente dentro del juego, pero no estamos tan avanzados en este momento, por lo que lo estamos cambiando manualmente. Por lo que ahora el jugador tiene 200 monedas. Entonces si hace clic en esta variable, dice 200. Eso es lo que dijimos. Y en realidad quiero mostrar este número a la pantalla. Entonces si arrastro hacia fuera y hago clic en Imprimir, se
puede ver que no hay nada llamado cadena de impresión. Y esto se debe a que la cadena de impresión, la considerada el nodo que imprime el mensaje en la pantalla. En realidad es una variable a una variable de cadena. Por lo que puedes ver aquí es en realidad un tipo de variable de cadena. Entonces esto no es realmente lo mismo y por lo tanto no puede imprimirlo. Pero en realidad puedes imprimirlo si arrastras este pin y te conectas con la cadena, y en realidad te dice, voy a convertir este entero en una cadena antes de poder imprimirlo. Y esto es lo que está haciendo. Está convirtiendo el entero en una cadena y luego lo conecta al,
al nodo de cadena de impresión. También podría haberlo hecho en nuestro manualmente haciendo clic a cadena. Y se puede ver aquí dos cuerdas, y esto en realidad es lo mismo y se podría haber conectado a la cadena de impresión. Entonces lo mismo. Y si conecto este evento al pin de ejecución. Y esto ahora está diciendo cuando empiece a jugar el juego, por favor rentar esta cantidad de monedas a la pantalla. Entonces quiero imprimirlo por diez segundos, por ejemplo, para que podamos tener algo de tiempo para verlo. Haga clic en compilar, haga clic en Guardar. Y voy a minimizar un poco esto y hacer clic en jugar. Y se puede ver aquí es en realidad y Jing 200 monedas en la pantalla. Entonces esto es lo que son Job. Este es un número que puedes elegir. Y muy importante saber es que los enteros no pueden contener números decimales. Entonces esto es lo que son las carrozas. Entonces enteros es sin decimales, ¿de acuerdo? Entonces si creo una nueva variable y la llamo por ejemplo,
peso, bueno, este podría ser el peso del personaje. Y voy a cambiar el tipo a un flotador, y voy a sostener Control y arrastrarlo hacia fuera. Entonces esta es la variable de peso. Y de nuevo, voy a compilar para ver los valores. Y ahora se puede ver aquí este es un número lo haría decimales. ¿ De acuerdo? Entonces por ejemplo, el peso de mi personaje en kilogramos es de 75.85.8, por ejemplo. Y así ahora esto es, este es un número con decimal, así que no puedo escribir decimales aquí. Esto no se va a aceptar. Entonces un entero es un número sin decimales. Un flotador es un número con decimales. Y puede, puedo elegir imprimir esto en la pantalla. Entonces si estoy conectado y puedes hacer esto manteniendo
presionado Alt y haciendo clic en el bolígrafo de ejecución, ya sea éste o éste. Y todo esto desconectado, puedo alejarlo. Y puedo conectar esto a la variable string, y automáticamente convertirá el flotador en una cadena para que pueda imprimirlo en la pantalla. Haga clic en Compilar, Guardar, y haga clic en jugar. Y ahora se puede ver que muestra el peso de mi personaje de 75.8 kilogramos. ¿ De acuerdo? Entonces esto es lo que son las carrozas. El último es el byte. Voy a dar click en Crear nueva variable. Y para este voy a masticar o voy a llamarlo tipo de cabello. Entonces este es, por ejemplo, el tipo de cabello que el jugador puede elegir y la pantalla de personalización de personajes. Y voy a cambiar la variable a morder. Por lo que puedo hacer clic en mantener presionado Control y arrastrarlo hacia fuera. Entonces esta es mi variable y-. Voy a compilar para agregarle un valor. Y ahora se puede ver aquí, esto también es un número. Y lo que es un byte, también
es un número sin decimales, pero éste sólo puede contener hasta 255. Por lo que se acepta 255. Si voy a 256, esto no se acepta. puede ver que lo cambia automáticamente a 255. Por lo que éste puede, por ejemplo, ser utilizado para los tipos de cabello. Por ejemplo, dudo que el juego tenga más de 255 tipos. Entonces, para los tipos de cabello, yo, por ejemplo,
usaría el byte en lugar de un flotador o un entero. Y esto también porque tienes que priorizar lo que
quieres elegir para cada escenario de tu juego. Porque byte está usando menos memoria que estos dos, porque es tan pequeño, um, y así puedes intentar optimizar tu juego haciendo esto. Entonces en lugar de usar un flotador para todo, en lugar de usar un entero para todo lo que no tiene decimales, puedes usar un byte si, en realidad, si tus opciones no tienen más de 255. Entonces por ejemplo, quiero elegir el número de cabello 56. Y se puede ver, se puede imprimir de nuevo en la pantalla. Voy a alejar esto. Whoops, voy a alejar esto. Podemos ver este. Voy a dar clic en Compilar y jugar. Y se puede ver aquí muestra el número 56 que
hemos escrito dentro de la variable de byte. De acuerdo, así que estas son las variables de las que quería hablar en esta lección. Entonces tenemos el byte, que es el número sin decimales, pero sólo puede contener hasta 255. Tenemos los pesos son la variable flotador la cual puede contener decimales. Y tenemos el entero que es un número que no puede contener decimales. Entonces esto es bueno para usar para monedas, por ejemplo, o, o puntos o lo que sea, porque realmente no necesitas decimales, cuatro puntos, a menos que tus puntos dentro de tu juego tengan decimales que en este caso, quieres usar un flotador en su lugar.
10. Booleano: El siguiente tipo de variable es un booleano. Y antes de que hablemos de ello, en realidad puedes seleccionar estas tres variables diferentes que lo creas. Y puedes hacer click en el botón CC de tu teclado. Y esto creará un comentario. Y sólo escribiré tipos de variables. Y trataré de colocar aquí todas las variables a medida que avanzamos. Entonces arrastraré esto hacia abajo. De acuerdo, Entonces lo siguiente es booleano, y puedes hacer clic aquí, crear una nueva variable. Y podemos hacer que un booleano llamado esté muerto. Y para los booleanos como buena práctica, esto se hace en C plus más, derecho, estar frente a Booleano. Entonces sabemos que es un booleano. Y yo lo voy a ejecutar así. Entonces b está muerto. Y voy a cambiar el tipo de variable a Boolean, y voy a arrastrarlo hacia fuera y dar clic en Obtener. Aquí se puede ver que B en realidad no se muestra a pesar de que escribimos b Así que esto es algo secreto que podemos escribir, y sabemos que es un booleano. Entonces lo que es un booleano, es un contenedor que contiene información que es verdadera o falsa. Entonces si compilamos, podemos ver aquí, se
puede tomar esto, ya sea
puede ser revisado o descomprobado. Por lo que puede ser cierto o falso. Entonces, por ejemplo, como tu personaje sosteniendo un arma, puede decir, podemos hacer una variable llamada es sosteniendo arma. Y puede ser cierto o falso. Entonces por ejemplo, para este es el personaje que puede ser sí el personaje está muerto o no, los personajes están muertos. Entonces esto es lo que es un booleano. Y por ejemplo, podemos ver aquí si lo
conecto a una cadena o a la cadena de impresión que teníamos antes, convertirá en una cadena. Y si hacemos click en Play, puedes ver aquí ahora es falso. Esto se debe a que no está comprobado. Y si hago clic en escape y vuelvo atrás, y si lo tomo, compilar click Play, dice verdadero. Entonces esto es un booleano. O bien contiene información que es verdadera o falsa, y podemos usarla para diferentes escenarios. Entonces por ejemplo, es mi jugador sosteniendo un arma porque tal vez no quiero que el jugador pueda sprint y el juego si él o ella está sosteniendo un arma. Entonces estoy revisando es el jugador, ¿el jugador está sosteniendo un arma? Y si es así, no quiero que el jugador pueda sprint. ¿ Está muerto el jugador? En este caso, entonces quiero desactivar todo el movimiento, o quiero reiniciar el juego o lo que sea. Entonces esto es lo que es un booleano.
11. Texto, cuerdo y nombre: Por lo que los siguientes dos o tres tipos de variables de los que queremos hablar es la variable x-y la variable string y la variable name. Entonces sigamos adelante y creemos una variable de texto. Y para este lo voy a llamar juego sobre mensaje. Por lo que este es un mensaje que se mostrará cuando el jugador muera, por ejemplo. Y voy a llamarlo cambia a una variable de texto. Voy a sostener Control y arrastrarlo hacia fuera. Y se puede ver aquí ahora tenemos una variable de texto. Tenemos que dar clic en Compila para agregar un valor. Y aquí en el valor por defecto, podemos agregar un texto. Entonces, por ejemplo, podemos decir que murió o algo así. Entonces ahora tenemos un texto y si me conecto a la variable string y se convierte, se
compilará y reproducirá. Se puede decir que dice que te has teñido aquí a la izquierda. De acuerdo, entonces esta es una variable de texto. Ahora, también podemos crear una variable de cadena. Y para este, llamémoslo nombre del servidor. Y elegimos el tipo de cadena. Podemos arrastrarlo hacia fuera. Y se puede ver aquí ahora tengo una variable de cadena. Si compilo, una cadena también es una línea de texto y te
voy, te explicaré en un poco cuáles son las diferencias aunque cancelamos. Por ejemplo, el nombre del servidor, vamos a llamarlo solo mi nombre fue el primer servidor. Entonces este es mi nombre de servidor que te puedes ver cuando te unes al juego. Y déjame desconectar esto. Y quiero arrastrarlo hasta aquí. Y si lo conectas, puedes ver que en realidad no está convirtiendo nada porque esto es una cadena y esto también es una cadena. Por lo que no necesita convertir nada. Por lo que podemos simplemente conectarlo directamente y dar click en compilar y jugar. Y puedes ver aquí dice la mayoría de nosotros servidor, ¿de acuerdo? Y ahora esta es una cadena y la última antes de explicar la diferencia entre estos dos, la última es una variable de nombre. Entonces para éste, por ejemplo, podemos llamarlo nombre de arma. Y podemos elegir el nombre Aquí, nombre, tipo variable. Y vamos a arrastrarlo otra vez. Haga clic en compilar. Y puedes ver aquí, puedes elegir otra vez una línea de texto. Entonces por ejemplo, si esto es un tirador, tengo un AK 47. De acuerdo, haga clic en compilar, conectado, lo convertirá en una cadena, Compila y Guardar y haga clic en play. Y se puede ver que dice AK 47. De acuerdo, entonces estos son los textos, los tipos de variables, el, el texto, la cadena, y el nombre. Y se puede ver que se puede escribir una línea de código para cada uno de ellos. Entonces, ¿cuál es la diferencia entre estos tres? Se puede escribir una línea de código y todos ellos. ¿ Cuál es la diferencia? La diferencia es, o para la variable de texto, ésta utiliza la mayor cantidad de memoria, y este es el medio, esta es la memoria baja. Y para la variable de texto, ésta es localizable. Se puede ver aquí si sostengo el ratón sobre este texto, dice textos localizados. Y lo que es la localización, puede que ya lo conozcas, pero esto es cuando traduzcas una línea de texto en otros idiomas. Entonces por ejemplo, si yo, si quiero mi juego en inglés, pero también quería en alemán, también
quería en chino o en japonés. Quiero traducir este juego sobre mensaje para escribir Chino a dentro de mi juego. Y esto solo se puede hacer si tienes una variable de texto, no se puede traducir
el, el, el motor no podrá traducir estas variables de cadena. Sólo puede traducir las variables de texto. Entonces cuando creas una línea de texto y quieres tu juego en diferentes idiomas, tienes que tener en mente, ¿quieres traducir esta línea que estás a punto de escribir? Y si sí, quiero traducirlo, entonces adelante y haz una variable de texto porque no
puedes traducir estos otros a otros idiomas. Y solo para mostrar en punto, lo haremos rápidamente, esto no se trata de material de traducción de localización dentro del tablero de deslocalización. Aquí puedes ver aquí tienes el idioma inglés y
puedes agregar más idiomas y puedes traducir a diferentes idiomas. Y esto sólo se puede hacer para variables de texto, ¿de acuerdo? El string variable. No se puede traducir esto. Esto no se puede traducir como la variable de texto, pero se puede escribir una línea de código y esto se puede usar para cosas que no se van a traducir. Entonces si eres un nombre o si tu juego nunca se va a traducir, también
puedes usar una cadena para escribir este juego sobre mensaje. No tienes que usar un texto si no quieres traducción. Por lo que esta también es una línea de texto y esto no se va a poder traducir. Y por ejemplo, un nombre de servidor. Si estás jugando online, realmente no
quieres traducir el nombre de mi servidor a otros idiomas, por lo que realmente no tiene ningún sentido. Por lo que para el nombre del observador, estaría usando la variable de cadena. Y el último es el nombre y el nombre extranjero. Éste no puede traducirse. Y también algo bueno saber, estas dos variables pueden ser manipuladas. Esto no puede ser manipulado. Y cuando me encuentro con mi, lo que quiero decir con esto es, por ejemplo, si arrastras fuera de la cadena y haces clic en anexar, realidad
podemos agregar más texto a tu texto por aquí. Entonces por ejemplo, si escribo dentro del append, debe alguna vez servidor, dice la mayoría de nosotros por aquí. Por ejemplo, si escribo el número 1, si conecté este pin a la cadena de impresión, solo para poder imprimirlo y te puedo mostrar, hago clic en Play. Ahora dice La mayoría de nosotros servidor número uno. Por lo que la variable de textos y la variable de cadena se pueden manipular durante el juego. Este no puede ser manipulado y esto será único. Sólo se llamará 1847. Y realmente no tienes algo que pueda agregarle cosas. Entonces esto es, este es el que usa menos memoria que estos dos, y sólo usando estas cuatro cosas únicas. Por ejemplo, Mi nombre del arma siempre va a permanecer igual, así que nunca lo voy a cambiar. Siempre se va a llamar AK 47. Por lo que para los nombres de las armas, usaría esta variable. También, por ejemplo, puedes usarlo si tienes logros en tu juego y quieres una idea a estos logros. Entonces, por ejemplo, si tu ID es un CH, por ejemplo, para el logro 07, esto nunca va a cambiar. Usaría Id. de logro y usaría una variable de nombre para esto. Entonces esto, estas son las variables de textos. Se puede escribir texto y todos ellos, pero estas son las principales diferencias para estas variables.
12. Vector: Vamos a seguir adelante y crear una variable vectorial. Entonces haga clic en crear nueva variable. Y para esta variable vectorial, vamos a llamarla ubicación de leva. Entonces, por ejemplo, si queremos especificar la ubicación de la cámara dentro del mundo. Por lo tanto, cambiando la variable tipo dos vector y vamos a mantener control y arrastrarlo hacia fuera como en compilado para ver los valores por defecto. Y se puede ver que el vector contiene tres números. Entonces aquí, si minimizo un poco esto y voy por aquí. Si haces clic en la malla dentro del mundo y ves que el vector contiene esta información y esto es, el vector se suele utilizar para ubicaciones. Entonces, por ejemplo, podemos modificar la ubicación del terreno, que son los números tres o tres. Entonces por ejemplo, una fatwa, cien, cien, cien. Esta podría ser la nueva ubicación para el terreno para que podamos modificarla a través del código. Si hago click en Componer y Guardar. Y también puedes arrastrarlo aquí e imprimirlo. Y se puede ver si hago clic en una arcilla, representa el eje x,
y, y z, que fijamos en 104 para los tres. Entonces solo para mostrarte rápidamente, por ejemplo, si hacemos click en la malla del suelo y luego haremos clic derecho dentro de nuestro blueprint de nivel. Podemos crear una referencia al piso, que está aquí. Y se puede arrastrar hacia fuera y se puede
buscar la ubicación o en realidad puede simplemente la ubicación correcta. Y puedes ver aquí estos son los diferentes nodos que puedes editar. Y queremos establecer la ubicación del actor. Y si desconecté esta cadena de impresión, y conecto esta ubicación de actor set. Y si conecto esta nueva ubicación, así que ahora en lugar de ubicación CAM, podemos llamarla ubicación Laura. Esto sería más apropiado y podemos conectarlo a la nueva ubicación. Por lo que ahora, cuando iniciemos el juego, vamos a establecer esta ubicación de piso a esta nueva ubicación. Entonces en lugar de ser 000 20, va a ser
cien, ciento ciento cien. Entonces si compilamos, tenemos que recordar ponerlo en movible para poder cambiarlo en el juego y hacer clic en jugar. Y aquí se puede ver que en realidad es tal vez sea mejor
poner un retraso porque ahora no siempre se puede ver que cambió la ubicación. Si sólo la arrastro aquí y paseo delay, esto retrasará el código o una cantidad de tiempo, por ejemplo, tres segundos. Y luego jugará esta ubicación de actor set. De acuerdo, entonces si hago clic en Play, puedes ver aquí después de tres segundos. En realidad déjame minimizar esto para que podamos ver algo así como en el juego. Y después de tres segundos, va a cambiar la ubicación como ven aquí. De acuerdo, entonces esto es para lo que podemos usar vectores.
13. Rotator: utiliza una variable de asador para cambiar la rotación de un artículo. Entonces sigamos adelante y creemos una nueva variable. Y llamémoslo ley para la rotación. Y para este vamos a cambiar el tipo de variable a rotador, y vamos a mantener Control y arrastrarlo hacia fuera. Y para este ejemplo, vamos a compilar primero. Y se puede ver aquí estos contienen tres números, y esta es en realidad la rotación. Entonces si hacemos click en algo, por ejemplo, en el piso, podemos cambiar la rotación. Por lo que estos son los tres valores. Y si queremos editarlos dinámicamente dentro del juego a través de esta variable, podemos hacer click en el piso, hacer clic con el botón derecho aquí en la gráfica y pulsar Crear referencia de piso, igual que en la lección anterior. Y vamos a arrastrar hacia fuera y teclear rotación. Y aquí se puede ver que se puede establecer la rotación del actor. Entonces vamos a conectarlo al Begin Play. Y para esto, conectemos la nueva rotación. Y ahora mismo está fijado en 000, así que no pasará nada. Pero digamos por ejemplo, el eje x que queremos rotar 20, el eje y que queremos rotar AT, y la z que queremos rotar 30. ¿ De acuerdo? Y pongamos un retraso para que podamos ver la diferencia con el antes y el después. Aunque. Cuando empecemos a jugar el juego, después de tres segundos, rota la malla del piso. De acuerdo, así que tratemos de organizarlo un poco. Siempre es agradable organizarlo. Y recuerda que puedes usar C para comentarios. Entonces por ejemplo, si quieres verte en todos ellos y hacer click,
Todo bien, por ejemplo, rotación de piso. Ahora esta es una buena práctica. Si tienes mucho código, siempre
es bueno tener estas cosas abajo. Por lo que también puedo hacer clic en lo común. Si quieres cambiar el color del comentario, eres bienvenido a hacerlo. Entonces, y si quieres ir esta burbuja en Zoom o no. Y si quieres, por ejemplo, mostrar el color aquí arriba y todo esto. Entonces esto es bueno para la organización. Vamos a seguir adelante y haga clic en Jugar. Por lo que después de tres segundos, esta malla floral rotará, abogacía giró. Entonces esto es lo que es un rotador. Se puede utilizar para rotar, rotar mallas.
14. Transformar: Entonces el último tipo de variable del que quiero hablar por ahora es el tipo de variable transformada. Entonces si queremos hacer clic o crear una nueva variable, haga clic en este botón más, y llamemos a esta transformación de un solo piso. Entonces vamos a cambiar el tipo de variable para transformar y vamos a compilar. Se la puede ver si se hace clic en la flecha y la transformación es todos estos números diferentes. Por lo que podemos cambiar la ubicación, la rotación, y la escala de un elemento. Entonces cualquier cosa que tenga ubicación, rotación y escala dentro de tu nivel, podemos modificarlo con esto. Entonces para presionar G, solo para ver todos los iconos, realidad
podemos modificar,
por ejemplo, la ubicación,
rotación y escala del Sol a través de esta variable de transformación. Lo mismo va con el tragaluz, lo
mismo va con la instancia de inicio jugador. Y lo mismo vale para el piso. Entonces, por ejemplo, hagámoslo en el piso. Podemos cambiar los tres números a la vez. Entonces por ejemplo, mi ubicación debería ser un 100, 100, 100. Mi rotación no debería ser 2050, 2080. En realidad son solo números aleatorios, y solo lo escalaré. Vamos a escalarlo a 0.50.50.5. Ok, y vamos a arrastrar hacia fuera la transformación y vamos a compilar y guardar. De acuerdo, entonces aquí podemos cambiar la transformación de Florida. Entonces si hago clic en el piso, y si abro mi espectador derecho derecho y creo una referencia al piso, lo
arrastraré hacia fuera y puedes escribir transformada. Entonces como puedes ver, la forma más fácil de buscar cosas si eres nuevo en el motor o nuevo en los planos, solo
puedes escribir lo que quieras hacer con este piso. Por ejemplo, si quieres rotarlo, puedes escribir la rotación está aquí. Se puede obtener la rotación real. Se puede establecer la rotación. Si quieres obtener la ubicación, solo
puedes escribir ubicación y puedes ver aquí dicha ubicación del actor. Entonces esta es una buena manera de buscar cosas si no sabes cómo se llaman, ganó un 100 por ciento. Entonces para examen para la transformación, Let's write transform. Y se puede ver aquí que se puede establecer la transformación del actor. Entonces vamos a conectarlo y conectemos la transformación del piso dentro de la nueva transformación. Compenar. Y hagamos clic en jugar antes de que las listas de reproducción se retrasen realmente durante tres segundos. Para que veas que hay una diferencia con el antes y el después. Entonces cuando empecemos a jugar, espera tres segundos, luego lanza en este código. De acuerdo, Así que déjame organizar un poco esto y compilar, y vamos a hacer clic en Place. Se puede ver son después de tres segundos, va a cambiar su transformación de esta malla. Entonces esta es la variable transformadora y es muy útil. Y también se puede utilizar en cámaras porque las cámaras también son estos valores de transformación. Por lo que esta es una gran variable a utilizar para cambiar las transformaciones de los artículos.
15. Operadores variables: Muy bien, Es hora de hablar de los operadores variables. Por lo que estas son las cuatro variables operadores que tenemos. Y lo que es un operador, es que podemos hacer suma, resta, multiplicación, y división. Entonces, por ejemplo, usemos la variable cantidad de monedas que tenemos esto como la variable entera. Entonces solo voy a dejar que esto esté aquí. Entonces voy a arrastrar uno nuevo aquí. Y así podemos usarlo en el código. Y por ejemplo, la cantidad de código que podemos arrastrar el pin hacia fuera. Y para encontrar los operadores variables, puede escribir más 2, encontrar la suma, o escribir menos 2, restar división de derechos para dividir y escribir su estrella para la multiplicación. Entonces por ejemplo de r, r plus y doy clic en esto. Ahora podemos sumar un número. Por ejemplo, aquí dijimos la cantidad de monedas a 200. Y podemos agregar un, por ejemplo, digamos 100, que llegue a 300. Y en realidad podemos imprimirlo en la pantalla,
pantalla a través de la cadena de impresión conectada. Y podemos compilar y dar click en Play. Se puede ver aquí que está mostrando 300. De acuerdo, Entonces así es como usamos los operadores y en realidad se puede usar múltiplo. Entonces, por ejemplo, podemos decir 200 más 100 y esto es 300. Entonces queremos dividirla por tres. Por lo que ahora se convertirá en 100. Y podemos conectarlo y dar click en compilar y jugar. Y se puede ver aquí dice 100. Y si caso te lo perdiste, solo
podemos hacer que este tiempo sea más largo, compilar y jugar. Y se puede ver que dice 100 año a la parte superior izquierda. Por lo que estos son operadores. Se pueden utilizar para más, menos, multiplicar y dividir. Y puede hacer tantos como quieras. Esto, por supuesto, se puede utilizar para el número de variables. Entonces, por ejemplo, si quisiéramos usar un flotador en su lugar, o queremos usar un byte en su lugar. Entonces usemos el flotador. Se puede ver si arrastro el flotador, puedo decir dividir por 5. puede ver aquí tienen diferentes colores y esto se debe a que este color es para enteros, este color verde claro es para carrozas y así sucesivamente. Para que puedas ver los diferentes colores o
puedes ver los diferentes tipos de variables a través de los colores. Y de nuevo, esto mostrará el número de resultado si conecto esto a la cadena. Y así ahora se va a mostrar esta carga a la cuerda, nuestro oído a la cadena de impresión compilando. Y se puede ver aquí es 15.16 porque está dividiendo el 75, 0.85.
16. Ramas y acondicionamiento: El siguiente es las ramas y acondicionamiento. Y estos acondicionadores de acondicionamiento en realidad también son operadores variables, pero estos matarán una condición y hablaremos de eso ahora. Entonces este es el nodo de rama y lo que es un nodo de rama, le das una condición. Y luego si es cierto, hará este código. Si es falso, hará este código. De acuerdo, así que intentemos usarlo para acceder fácilmente a la sucursal. Simplemente haga clic en mantener presionada B y haga clic en la gráfica. Así que sostén pico, mira la gráfica. Esto creará una rama, un nodo de rama. O puedes hacer clic derecho y escribir B. Y puedes ver aquí rama, puedes seleccionarla. Entonces este es el nodo de rama, y podemos darle aquí un booleano. Se puede ver que el rojo es un booleano, así que algo es verdadero o falso. Si es cierto, hará este código. Si es falso, lo hará. Entonces, por ejemplo, intentemos tomar la cantidad de monedas. Vamos a arrastrarlo hacia fuera. Digamos más 50 o ¿cuál es tu anuncio? Y fue hacer 15. ¿ De acuerdo? Y digamos, usemos uno de estos acondicionadores. Entonces, por ejemplo, podemos usar es mayor. Es este número es en este número de resultado mayor que, digamos 300. Y podemos conectarlo a la sucursal. Entonces, antes de que sigamos, veamos qué está pasando. Entonces tenemos la cantidad de monedas y la hemos fijado en 200. Ahora estamos sumando 50 a las 200 monedas que tenemos. Por lo que ahora el resultado es a 250. Entonces el 250 que estamos preguntando es de 250, ¿este número es mayor a este número es 250 mayor a 300? ¿ Es esto cierto? Ahora, obviamente esto es falso porque 250 no es mayor a 300. Entonces esto va a ser falso y va a reproducir este código. Entonces por ejemplo, como desconectado por clinking Alt y bajo pluma de ejecución. Y déjame conectar esto aquí y crearé otra cadena de impresión. Y por ejemplo, esto aquí mismo, esto es cierto. O vamos a probarlo. Escribamos esto es falso. De acuerdo, entonces ahora va a jugar al falso impío. Y recuerda conectar la sucursal por aquí. ¿ De acuerdo? Voy a organizar un poco las cosas. Está bien. Entonces se va a preguntar, es,
es 200, 200 más 50, esto es 250, ¿es esto mayor a 300? Obviamente no lo es, entonces va a decir que esto es falso. De acuerdo, así que juguemos el juego y veamos qué está diciendo. Y en realidad quiero que sea 10 segundos solo para que podamos tener oportunidad de verlo. Al igual que esto. Está bien, y vamos a jugar. Y se puede ver aquí dice que esto es falso porque 250 no es mayor a 300. No obstante, si nosotros, digamos, si dijimos antes de las nueve, así es 250 mayor que 2, 4, 9, ¿es eso cierto? Y esto es cierto. De acuerdo, Entonces así es como funciona el acondicionamiento y puedes ver que puedes usar todos estos. Entonces, por ejemplo, esto no es igual. Podemos usar esto. Por lo que aquí quería borrar este. Y así podemos surgir no iguales, y podemos conseguir este operador. Y por ejemplo, podemos escribir un número tenía razón, 600 y conectado. Y ahora le estamos diciendo a un 100 más 50, son 250. Este resultado que es 250, si es así, ¿no es igual a 600? Y ahora es cierto, sí, no
es igual a 600. Entonces va a reproducir este mensaje. Ahora vamos a compilar, guardar y hacer clic en Reproducir. Y se puede ver aquí dice que esto es cierto, no son 600. Entonces, por ejemplo, si estamos en 250, ahora está diciendo 250, ¿no es igual a este número que es 250? Y ahora es falso porque es igual a 250. Entonces si hacemos clic en Play, ya puedes ver ahora dice que esto es falso. Entonces así es como utilizas acondicionadores y sucursales. Esto es muy importante porque lo usas en casi todos los códigos o realmente lo usas Yan casi todo. Tan importante entender este concepto. Y estos en realidad también se llaman operadores variables, pero estos tienen condiciones, y es por eso que también se les llama acondicionadores. Y así tienen una condición que devuelve ya sea verdadera o falsa. Y podemos lanzar un código desde ahí.
17. Conde y configurar: De acuerdo, entonces ahora queremos hablar de establecer las variables. Entonces, hasta el momento tenemos la variable. Por lo que si arrastras una variable, puedes elegir ya sea para obtener la variable o para establecer la variable. Entonces, hasta ahora hemos hecho clic en obtener la variable y ahora la hemos usado así. Pero también se puede establecer la variable. Entonces si lo arrastras y haces clic en Establecer, de nuevo,
configúrelo a un número específico durante el código. Y puedes hacer lo mismo con todas las demás cosas que puedes ver aquí que he enumerado o arrastrado todas ellas dentro de aquí. Y se puede ver, se pueden establecer todas las variables. Puedes arrastrarlos hacia fuera y hacer clic en Establecer, o puedes mantener presionado Alt y arrastrarlos hacia fuera y colocarlo. Lo estableceremos automáticamente. Por lo que sostener el control y ponerlo dentro de la gráfica lo logrará sujetar Alt y ponerlo, ponerlo, ponerlo en el Gráfico de Eventos, Completo Establecerlo. De acuerdo, así que intentemos usarlo. Sería el peso. Por lo que sostendré Alt y arrastraré el peso. Y veamos aquí la cantidad de monedas que hemos dicho es de 200. Entonces diré el signo mayor y es, es 200. O como la cantidad de monedas mayor a 300. Y hagamos una sucursal. Y conectemos ese. Entonces si la cantidad de monedas es mayor a 300, podemos establecer el peso, por ejemplo, de la mochila que el jugador está sosteniendo. Podemos ponerlo a, digamos, 20 kilo gramos. Si podemos copiar pegarlo. Si es menor a 300 o si no es mayor a 300, podemos establecer el camino a 10, por ejemplo. Entonces así es como configuras las variables en lugar de simplemente entrar de aquí y configurarlo en un número específico, en realidad
puedes establecerlo dentro del código dependiendo de lo que esté sucediendo. Para que podamos hacerlo con todo. Vamos a compilar. Y veamos aquí, Vamos a querer jugar y ver el valor. Pero ahora mismo no podemos ver el valor porque no estamos imprimiendo una cadena. Entonces voy a imprimir una cuerda y la voy a conectar. Y así se muestra en la pantalla y podemos ver qué está pasando. Yo voy a hacer lo mismo aquí abajo. Y vamos a dar clic en Componer. Voy a aumentar el tiempo a 10, así que tenemos oportunidad de ver el mensaje. Ok, y vamos a dar click en compilar y jugar. Y se puede ver aquí ahora es, el peso es de 10 porque porque 200 no es mayor a 300. De acuerdo, Entonces esto es falso, no es mayor. Si dijera así para ver 100. Así es la cantidad de monedas mayor a 100 años, eso es cierto. Entonces el peso será de 20. Y ahora si le damos a Play, se
puede ver que el peso es de 20. Entonces así es como estableces variables y ejemplo de usos. Por ejemplo, si la salud del jugador es 0, podemos, podemos establecer la variable es que para ser verdad si el jugador está muerto, es decir, su salud es 0. O si la salud no es 0, podemos ponerlo a no muerto ahí. Lo mismo va con la cantidad de monedas. Podemos configurarlo, por ejemplo, el jugador, el jugador entra en una moneda. Para que podamos establecer la cantidad de monedas a la cantidad que obtienes por recoger esa moneda. O puedes, por ejemplo, usar plus plus para que se añada. También puedes escribir plus plus. Esto lo agregará una vez. Entonces podemos ver aquí dice agregar 1 al valor especificado, luego configurarlo. Entonces esto en realidad está configurando. Si queremos usar éste en su lugar, podemos plus, además sería uno. Por ejemplo, si entras en la moneda, obtienes más uno. Y este nuevo valor. Déjame borrar aquí para no confundirte demasiado. Entonces si tú, si entras en una moneda, puedes tomar la cantidad de monedas eran solo a 100 y más con una. No, ahora tienes 201 monedas, pero tienes que ponerla a este valor a la nueva cantidad. Entonces ahora la nueva cantidad es en realidad 201. Entonces si tratamos de imprimir este mensaje o esta cantidad de monedas, verás que la cantidad de monedas ahora es de doscientas una. Cien uno. ¿ De acuerdo? Entonces esto es lo que son los centros para estos otros. Estos son getters. Entonces obtienes la cantidad y la celulosa dijiste la cantidad durante el juego.
18. Ejemplo de variables: De acuerdo, entonces ahora sigamos adelante y echemos un vistazo a un ejemplo de cómo podemos usar lo que hemos aprendido hasta ahora con variables. Entonces digamos que ese jugador a va por encima y saquea una moneda y quieres comprobar si hay. En primer lugar, si el jugador tiene una mochila para bucle declinar. Y en segundo lugar, si hay espacio suficiente en esta mochila para cargar las monedas que el jugador está saqueando. Y luego cuando el jugador los haya cargado, la mochila, mostrarás un mensaje a la pantalla. Entonces para ello, queremos comprobar en primer lugar si el jugador tiene mochila. Entonces para ello, creamos un booleano porque un booleano devuelve un valor de verdadero o falso. Crear un booleano llamado tiene mochila. Y sostenemos Control y lo arrastramos hacia fuera. Ahora, ahora tenemos esto y arrastre este bolígrafo y haga clic en B para hacer una rama. Ahora tenemos una sucursal. ¿ De acuerdo? Entonces antes de que hagamos algo, primero revisas cuando comienzas el juego, ¿el jugador tiene mochila? Y si compilas ahora mismo es falso, no, el jugador no tiene mochila. Este es el valor predeterminado. Y vamos a ver si el jugador no tiene mochila, queremos mostrar un mensaje de que no puedes mirar la moneda, pero primero necesitas una mochila. Y hagamos una nueva variable. Y llamémoslo, solo podemos llamarlo mensaje de aviso. Y hagámoslo una variable de texto. Y este aviso med surge, queremos configurarlo, así que sostenga Alt y arrástrelo. Y aquí podemos poner el mensaje y voy a ponerlo a, no
tienes mochila aquí. ¿ De acuerdo? Y podemos conectarlo, y vamos a imprimirlo a la pantalla para que
realmente podamos verlo cuando hacemos clic en jugar en el juego. Y hagámoslo a 10 segundos. Cambiaría ese color. Y eso está conectado al nodo de cadena de impresión. De acuerdo, así que ahora actualmente el jugador no tiene mochila, por lo que volverá. Entonces dice: ¿Tienes mochila? No, yo no. Entonces no tienes mochila. Este es el mensaje que se mostrará. Pero digamos que esto es cierto. El jugador sí tiene una mochila. Por lo que ahora reproducirá este código en su lugar. Y si el jugador tiene una mochila, entonces agrega las monedas aludidas. De acuerdo, Así que lidera, Eso es bueno. El monto de monedas. Veamos al jugador cuando caminó dos más de cinco monedas. Entonces diremos más y cinco. Por lo que el jugador tiene 200 monedas para empezar. Y ahora el jugador aludió a cinco. Entonces ahora está en 205 monedas. Entonces tomemos este plásmido con cinco y fijemos la nueva cantidad de monedas. Sostenes Alt y lo arrastras hacia fuera. Vamos a establecer la nueva cantidad de monedas en un 105 ahora. Y realmente conectemos aquí. Por lo general lo configuro así, solo usa el espacio para que el código no se ponga demasiado tiempo. Y así ahora dice la cantidad de monedas más cinco, es 205. Ahora dijimos la nueva cantidad de monedas. Entonces ahora esta variable es 205 ya no es 200 como se muestra aquí. De acuerdo, entonces ahora tenemos 205 monedas. Lo siguiente es que queremos preguntar si hay espacio en la mochila antes de añadirla o antes de ponerla dentro de la mochila. Por lo que ahora voy a hacer una nueva variable. Y por suerte no necesitamos hacer una nueva variable. Sólo podemos decir, es esto. Digamos que tenemos dos mochilas, así que crea una nueva variable, y este es un entero. Y podemos llamarlo número de mochilas. Digamos que tenemos dos mochilas. Entonces podemos compilar y dijo que hay valor a dos. ¿ De acuerdo? Y ahora tenemos esta cantidad de mochilas y también tenemos esta cantidad de monedas. Entonces esta cantidad de monedas, digamos que dividimos las monedas por igual en estas dos mochilas. Entonces voy a dividir la cantidad de monedas con la cantidad de mochilas. Entonces ahora tenemos 205 monedas y está dividida entre estas dos mochilas. ¿ De acuerdo? Y ahora digamos si este número, ¿es mayor que, digamos 200, hay 200 monedas en cada mochila? Entonces está lleno. Si tenemos 200 monedas en cada bolsa, bolsa, entonces está llena. Está bien. Entonces ahora lo vamos a preguntar, ¿es esto cierto o no? Conectemos este. ¿ De acuerdo? Y está bien, entonces ahora tenemos este código. Intentemos pasarlo para no confundirnos. Entonces comenzamos el juego. Se pregunta si el jugador tiene mochila o no. En este caso, hemos coteado. Entonces es cierto que el jugador tiene una mochila. Jugaremos este código. Y aquí estás sumando las cinco, erosionando las cinco monedas a la cantidad de monedas. Entonces ahora en lugar de tener 200 monedas en esta variable, ahora tienes 205. Entonces ahora usted está preguntando es el número de monedas que ahora es 205. Y este, lo estás dividiendo con el número de mochilas. Por lo que ahora tienes, tienes alrededor de 102 en cada mochila. Y ahora estás preguntando, ¿tienes 200 monedas en cada bolsa atrás, obviamente no solo tienes alrededor de 102 en cada mochila. Entonces no, no tienes no tienes esta cantidad de monedas por lo que realmente puedes cargarla. ¿ De acuerdo? Entonces ahora quiero enviar este mensaje por no terminar el juego, lo siento, las notas como mensaje. Entonces si sostengo Alt y lo arrastro y digo, tienes suficiente espacio o así, esto es falso. Y para no confundirse porque creo que cuando lees el código, es mejor decir verdad, como si, tienes espacio. A veces se vuelve confuso. Entonces aquí en realidad voy a escribir no. Y esto se usa para los booleanos. Entonces, entonces lo que dice es, si divides la cantidad de monedas, que ahora es 205, con la cantidad de mochilas, que ahora es 102. Si esto no es mayor a 200, sí, esto no es un mayor de lo que tienes suficiente espacio. Esto en realidad es mucho más fácil de leer que el, que si no tuviéramos este no componente. Entonces, ¿es este número mayor a 200? Pero ahora estamos diciendo, si este número no es mayor a 200 años, esto es cierto. Todavía no tenemos 200. Entonces tienes suficiente espacio. Y si es falso, no
tienes espacio. Entonces dices que no tienes suficiente espacio. ¿ De acuerdo? Y queremos imprimir esto a la pantalla. Entonces voy a escribir cuando string. Y en realidad podemos simplemente copiar este por aquí y pegarlo dos veces. Y ahorrarás tiempo copiando y pegando código. Y puedes imprimirlo a la pantalla. De acuerdo, Así que así como esto, y ahora este podría ser el ejemplo. Por lo que ahora mismo tenemos una mochila. En realidad tenemos espacio porque no tenemos 200 monedas en cada mochila. Por lo que esto debería reproducir esta parte del código para arreglar rápido guardar, compilar, guardar, Guardar Todo, y hacer clic en play. Dice que tienes suficiente espacio. ¿ De acuerdo? Y si no teníamos mochila, si no me aseguraba. Ahora si hacemos clic en play, dice
que aún no tienes una bolsa atrás. De acuerdo, Entonces si tengo una mochila, pero en realidad solo tengo espacio para 100 monedas en cada mochila. Recuerda que tenemos 102 monedas en cada mochila. Entonces para click Play, dice, no tienes suficiente espacio. ¿ De acuerdo? Entonces así es como se usan las variables. Se puede, se pueden obtener los montos. Se puede colocar con un número. Por ejemplo, puedes establecer la nueva cantidad en el número específico que tengas. Se pueden establecer mensajes para dependiendo de cuáles sean los eventos. Y se puede imprimir eso a la pantalla, claro. Y recuerda organizar el código. Y en realidad también puedes comentar el código. Entonces por ejemplo, esto, puedes venir y hacerlo y no escribir ninguna mochila. Por ejemplo. Se puede venir en esta parte del código y dice, por ejemplo, esta parte del código. Si yo, por ejemplo, lo arrastro por aquí. Y comenté y dice, Cheques, mochila está llena. ¿De acuerdo? Y esto en realidad es muy conveniente para otros programadores. Entonces si tienes otro programador o en el futuro seis meses después, quieres mirar atrás a tu código. Es mucho más fácil ver los comentarios en tu código. Y porque después de seis meses probablemente hayas olvidado lo que hiciste aquí. Y es muy fácil simplemente entrar y leer el comentario. Está bien, espero que no sea confuso y si necesitas alguna ayuda con ello, si algo te resulta confuso, siempre
puedes escribirme un comentario y te
contestaré o puedes escribir en el servidor de Discord y te contestaré también. También puede mirar las redes sociales para escribir entretenimiento
forjado en Facebook o Twitter o Instagram. Y también voy a contestar ahí. Gracias por mirar y pasemos a la siguiente lección.
20. Eventos: De acuerdo, entonces hablemos de eventos. He borrado todo en la gráfica y para hacer que el evento y el inicio jueguen que hemos utilizado hasta ahora, solo
puedes probarlo. Comienza a jugar. Lo que puedes hacer también, si quieres encontrar los eventos, puedes hacer clic derecho y escribir eventos. Y puedes ver aquí que tienes todos estos diferentes eventos que puedes agregar. Y tienen esta pequeña flecha a un lado. ¿De acuerdo? Por lo que ahora mismo hemos utilizado la jugada inicial. Y si haces clic en él, se crea un evento. Los eventos son de color rojo. Entonces si ves algo que ya está en color, este es un evento. De acuerdo, entonces los eventos es, los eventos son necesarios para conducir código. Por lo que sin eventos realmente no se puede conducir ningún código. Entonces por ejemplo, el anión clásico que hemos usado, si cambiamos la ubicación de la Florida que tenemos. Y no te preocupes, estaré usando ejemplos más avanzados, avanzados más adelante. Yo sólo quiero explicar los fundamentos también. Entonces si cambiamos la ubicación del piso y agregamos esto, esta variable vectorial que hicimos antes. Entonces ahora tenemos una función y está conectada al evento. Y tal vez queremos imprimir un mensaje más adelante después de cambiar la ubicación y decimos,
bonito, cambiamos la ubicación del piso. ¿ De acuerdo? Entonces si este evento no está aquí, si está desconectado,
y por cierto, se puede desconectar manteniendo presionado Alt y haciendo clic en el pin de ejecución. Entonces ahora está desconectado. Y si, si no, si no hay ningún evento conectado, Esto nunca se ejecutará. Entonces ahora si hago clic en Jugar, nada va a pasar realmente porque nada lo es, no le
estás diciendo al juego qué hacer cuando empieza a jugar el juego. Por lo que hay que conectarlo a un evento para que juegue. Y esto, esto es para todo, ¿de acuerdo? Tienes que tener un evento o algo para pasar. Ahora hay otros eventos. Entonces el siguiente es el tick de evento. Y el tick de evento es un poco peligroso. Pero está ahí y los eventos AIC se llama cada fotograma. Por lo que ejecutará tu código 60 veces por segundo. Y esto es muy peligroso porque
destruirá la optimización de tu juego si no tienes cuidado. Por lo que hará tu pierna de juego si no tienes cuidado, cuidado y si la usas todo el tiempo. Y lo que voy a decir es tratar de nunca usar esto a menos que seas realmente, realmente, realmente tienes que hacerlo. Por lo tanto, trata de no usarlo. Trata de no usarlo. Sólo hazlo si tienes que hacerlo. Pero te mostraré lo que pasa si imprimo una cuerda y salida de juego. Se puede ver aquí en realidad está jugando 60 veces por segundo. ¿ De acuerdo? Entonces esto es lo que un, lo que es el tick de evento. Y vayamos a los siguientes. Por ejemplo, tenemos el actor iniciar solapamiento y tenemos el y si tu final se solapan. Entonces esto es lo que sucede cuando se empieza a solapar. Y se puede ver esto es con el piso ahora mismo porque he seleccionado el piso en la ventana gráfica. Y si hago clic derecho, en realidad
puedo ver aquí en evento para piso. Si haces clic en él y puedes elegir estos diferentes eventos, por ejemplo, colisión, puedes encontrar estos comienzan solapamiento y solapamiento por aquí. Entonces, ¿qué pasa cuando empiezas a solaparte con el piso? ¿ Qué pasa cuando terminas superponiéndote con tu piso? Por lo que estos son eventos, Estos también son rojos. Lo siguiente que quiero hablar de un muy importante y lo harás, estarás usando esto todo el tiempo, es crear tus eventos personalizados. Entonces si haces clic derecho y escribes personalizado, puedes ver aquí que puedes hacer clic en agregar evento personalizado. Si hace clic en eso, puede dar el nombre del proveedor. Por ejemplo, lo llamaré en monedas. Entonces tal vez queremos usar este evento para cuando el jugador camine sobre una moneda. Queremos agregar monedas a esta variable llamada cantidad de monedas, que es un entero que hicimos antes. Entonces lo que haré es arrastrar esto mientras sostengo Control, dejaré ir. Por lo que está consiguiendo esta variable y esta se establece en 200 monedas en este momento como valor por defecto. Entonces lo que haré es, por ejemplo, finjamos que el jugador camina sobre una moneda y esto le dará cinco monedas. Entonces escribiendo plus para agregar, y sumaré cinco monedas. Y ahora tenemos que fijar la nueva cantidad a esta variable. Entonces si sostienes Alt gota y la pones hacia abajo para que establezca la variable. Ahora puedes conectar esta nueva cantidad para establecer la variable. Entonces ahora en realidad es 205 en lugar de 200. De acuerdo, así que ahora has añadido monedas. Y eliminemos esto por ahora. De acuerdo, entonces si haces clic en Reproducir ahora recuerda, este es el evento start play. Esto es lo que sucederá cuando empiece a jugar el juego. Y ahora mismo, no pasa nada porque realmente no le has dicho a tu juego uno que juegue esto. Esto no se está ejecutando en ninguna parte. De acuerdo, así que para ejecutar este código, tienes que llamarlo en alguna parte. Entonces esto es, a esto se le llama llamar al evento. Entonces hay que llamarlo. Y para llamarlo, solo puedes escribir el nombre del evento. Entonces ahora lo estoy llamando en la jugada inicial, le
digo al juego, cuando empieces a jugar el juego, por favor ve a este evento y ejecuta el código. Por lo que sumar a las monedas, bajará para agregar monedas. Y correrá este evento. Agregará cinco monedas a mi variable y luego la pondrá. De acuerdo, así que puedo hacer clic en Jugar y se puede ver nada se muestra lo que realmente está funcionando. Pero esto es porque no lo estamos imprimiendo a la pantalla, no
podemos ver nada. Entonces solo, sólo para ver que en realidad está funcionando. Tratemos de escribir string y vamos a conectarlos. Y ahora vamos a compilar, guardar y jugar. Y se puede ver aquí dice 205 en lugar de 200. Por lo que este código en realidad está funcionando ahora. Entonces recuerda, hay que llamar al evento para que funcione. Esto siempre está funcionando porque este es el evento estándar. Siempre se ejecutará cuando juegues, empieza a jugar el juego. Y cuando jugó comenzó a jugar el juego, le
dijimos a la computadora o al juego que deberías ir a este evento y ejecutar el código. Y podemos hacerlo tantas veces como queramos. A lo mejor quiero hacer otro evento personalizado y lo llamaré mensaje de monedas. Y con este evento realmente quiero imprimir este mensaje. Entonces no quiero imprimir nada aquí arriba porque solo quiero sumar monedas aquí arriba. Pero aquí abajo quiero imprimir un mensaje y quiero imprimir la cantidad que cargé. Entonces para ello,
vuelve a tomar la cantidad de monedas y puedes sostenerla y conectarla a la cuerda. Entonces ahora lo que vas a ver es que ahora empezamos a jugar el juego. Estás diciéndole al juego que vaya a Añadir monedas, como si estuvieras llamando a este evento. Estás agregando monedas a esta variable y configurándola. Pero ahora hay que llamar a este evento 2 porque el juego realmente no sabe cuándo jugar
a esta IP y no lo has dicho en ningún lugar fue a correr. Entonces para hacer esto, lo más lógico, es después de esto cuando añades las monedas, quiero reproducir un mensaje. Llamaré a este evento puntos mensaje. Este es el evento. Por lo que ahora después de agregar las monedas, bajará a esto, para este evento, e imprimirá una cuerda. De acuerdo, Así que vamos a ponerlos aquí juntos un poco. Y vamos a compilar guardar. Y ahora podemos dar click en Play. Y se puede ver que dice 205. Por lo que este flujo está funcionando. Va todo el camino hasta aquí abajo. Ahora es así como haces eventos personalizados y esto se usará todo el tiempo. Y recuerda llamar al evento de lo contrario no pasará nada.
21. Funciones: Ahora que tenemos una mejor comprensión de los eventos, Hablemos más de funciones. Entonces, hasta el momento hemos utilizado algunas funciones. Por ejemplo, la cadena de impresión. Esta es una función que hemos llamado referencia a nuestro piso. Y aquí escribimos, por ejemplo, esa ubicación del actor y ésta es una función. Dos funciones son las que están conectadas a eventos. Y estas funciones son las que hacen algún tipo de comportamiento dentro de tu juego. Ahora por ejemplo, estás imprimiendo una cadena en la pantalla o estás cambiando la ubicación de la Florida que tienes. Por lo que se puede ver que estas son funciones podrían ser F aquí arriba. Dice F, Esta es una función. Y estas funciones se pueden encontrar si haces clic derecho y puedes ver aquí todos estos desplegable, puedes soltar uno de ellos y ver que aquí hay muchas funciones. ¿ De acuerdo? Por lo que puedes ver algunas de las funciones son azules y algunas de sus funciones son de color verde. Por lo que hay una ligera diferencia entre estas funciones. ¿ De acuerdo? Entonces, por ejemplo, tomemos nuestra clásica, la ubicación real establecida. Por lo que en realidad podemos conseguir uno verde de ella. Y te mostraré qué es eso. Así phi ubicación correcta. Y me desplaza hacia abajo. Se puede ver que en realidad puedo elegir esto, obtener ubicación real, esto es verde, o puedo elegir Set actor location, que es azul. Y los verdes son los que obtienen información, que los azules son los que establecen la información. Entonces lo que eso significa es que si haces click en el verde, esto en realidad está consiguiendo la ubicación de la flora. Por lo que ahora mismo estoy consiguiendo la ubicación del piso donde está actualmente en el mundo. Si bien como los azules son los que establecen la ubicación. Entonces si queremos cambiar la ubicación del piso, voy a usar el azul. Queremos establecer la ubicación a una nueva ubicación. Pero si simplemente quiero la ubicación del piso en el mundo, elegiré este verde y obtendré ubicación precisa. Por lo que las funciones verdes son las que obtienen información y las azules son las que establecen la información. Las funciones también tienen entradas y valores de retorno. Entonces estos son los insumos y estos son los valores de retorno. Entonces por ejemplo, para esta entrada, se
puede ver que tenemos dislocación y siempre podemos hacer un vector, una variable vectorial, y podemos arrastrarla hacia fuera y conectarnos a esta entrada. Entonces ahora esta nueva ubicación que obtendrá el piso es esta variable que ponemos por aquí. Entonces estos son insumos y esto es lo que tienen las funciones. También pueden tener valores de retorno. Entonces por ejemplo, aquí, obtengo la ubicación del piso y cuando doy la ubicación, así que ahora esta es la ubicación del piso. Ahora puedo hacer cosas con él. Entonces este es el valor de retorno. Está devolviendo el valor del piso donde se encuentra actualmente, donde se encuentra actualmente la ubicación. Y por ejemplo, esto también se puede hacer con la rotación. Para que podamos obtener la rotación real. Y ahora puedo hacer algo con esta rotación actual del piso. De acuerdo, Lo último que quiero mostrarte cuatro funciones de las que realmente puedes hacer tus propias funciones. Volvamos aquí. Y digamos que aquí queremos hacer nuestra propia función. Entonces lo que puedes hacer es en realidad, puedes marcar todo el aceite, todos los nodos que quieras incluir en la función. Y puedes hacer clic derecho y hacer clic en colapsar para funcionar. Por lo que ahora has hecho tu propia función y puedes llamarla, yo le daré un nombre, dale algo lógico que recordarás asistencia diez días después. Entonces, por ejemplo, establecer la ubicación del piso. Esto es lo que está haciendo. Entonces ahora tenemos una nueva función y esto se llama Set floor location y la que hicimos. Ahora si haces doble clic se pone, ingresas a la función y puedes ver lo que realmente está haciendo. Por lo que ahora colapsó el código R en una nueva función. Y esta es una muy buena manera de limpiar el código. Entonces recuerda, cuando estás creando un juego, tu código puede ser Pilbara súper largo. Y realmente no quieres que sea tan largo. Recuerda colapsar las cosas a las funciones. Así es como limpias el código. Entonces, por ejemplo, este, si lo quisieras, si quieres cambiar la ubicación de algo y el código es muy largo, puedes simplemente colapsarlo a una función y llamarlo set floor location, por ejemplo. Ahora puedes acceder a estas funciones. Te hiciste a la izquierda. Por aquí. Dentro de la pestaña de funciones, se
puede ver la ubicación establecida del piso y se puede hacer doble clic en ella para acceder a ella, además de hacer doble clic aquí en el Gráfico de eventos. Ahora para usar estas funciones varias veces, puedes simplemente, y déjame simplemente borrar esta y mostrarte. Simplemente puedes arrastrarlo hacia fuera y colocarlo y puedes conectarlo. Por lo que ahora puedo usar esta función. Y esto es bastante genial porque puedes usarlo en múltiples eventos. Entonces digamos que creé otro, otro evento y lo llamo ubicación de piso. Piso la ubicación. Esto en realidad es algo que ya llamé la variable por aquí. Entonces déjenme llamar a las localizaciones sólo por ahora. Y déjame compilar y guardar. Y déjame, digamos que queremos volver a usar esto. Por lo que en realidad puedo arrastrar esta función hacia fuera y conectarme aquí abajo. Por lo que esto es de fácil acceso. Esto es bastante guay. En lugar de simplemente ir en copia pegar este código varias veces, solo
puedo hacer una función y puedo usarlo varias veces. Ahora, les mostraré más adelante cómo podemos usar esto de una manera más práctica. Como si estamos haciendo un juego y cómo se va a utilizar. Pero antes de terminar este video, quiero hablar de estos, estos insumos y también cuando hayamos regresado nodos. Entonces por ejemplo, esta función por aquí, se
puede ver que tiene muchas entradas y tiene un par de nodos de retorno que podemos usar. Y esto, esto es, esto es algo que podemos agregar a nuestra función si quieres. Entonces ahora tenemos, tenemos este nodo, el nodo de inicio, y también podemos hacer una nota final, y esto se llama nodo de retorno. Ahora bien, si hago una nota escrita así,
esto es en realidad lo mismo que si no hay nada. Entonces, a veces o la mayoría de las veces realmente
hago esto porque simplemente se ve más limpio tener un nodo de retorno. En realidad no significa nada tenerlo sin nada. Pero es solo, solo limpia el código. Pero si quieres alguna salida como valores de retorno e entradas, puedes hacerlo haciendo click en el nodo devuelto o en el nodo de inicio. Y puedes agregar variables por aquí. Entonces lo que puedes hacer aquí es si haces clic en el Plus, agregará una variable, igual que si agregaste variables por aquí, puedes agregar variables a funciones. Entonces ahora agrego una variable y digamos que quiero devolver este valor de ubicación de piso por aquí. Por lo que creo una nueva variable. Yo lo llamo ubicación más baja, por ejemplo. Hay algo que tiene sentido y puedo elegir el tipo variable. Y en este caso este es un vector. Entonces voy a elegir vector que es, que ya está ahí. Entonces voy a conectar mi ubicación de piso que el nodo devuelto. Y ahora si compilo y guardo y vuelvo a mi gráfico de eventos, puedes ver aquí ahora tenemos un nodo de retorno. Ahora podemos usar esta ubicación de piso por aquí y hacer cosas con ella. ¿ De acuerdo? Entonces este es un protocolo que es cómo se usan las variables de agregar a las funciones y hacer nodos de retorno. Y lo mismo. Si quieres una entrada, puedes agregar entradas por aquí, variables dos. Y digamos por ejemplo, la entrada debería ser algún tipo de texto. Y el texto debe llamarse mensaje. Sólo algo aleatorio. Yo sólo quiero mostrarte. Y puedes ver aquí ahora en realidad tenemos un mensaje de entrada y podemos decir, Yay, cambias la ubicación. Y esto realmente no tiene sentido por ahora. Solo quiero mostrarte cómo hacer entradas y devolver nodos. Entonces así es como lo haces. Se pueden agregar variables a las funciones. Y no te preocupes si ahora es demasiado complicado. Realmente no tienes que recordar esto por ahora. En las lecciones posteriores, profundizaremos más en esto. Solo quiero mostrarte cómo puedes hacer o cómo puedes agregar variables a funciones. De acuerdo, creo que es un buen lugar para detener el video antes de que se complica demasiado. Entonces en la siguiente lección, hablemos más de macros. Y muy, muy pronto, Hagamos un ejemplo práctico donde realmente hacemos algo dentro de este nivel y armamos todas las cosas que hemos aprendido. Entonces vamos a repasar y aprender más sobre las macros.
22. Macros: De acuerdo, entonces lo último de lo que quiero hablar es de Macros. Y lo que es las macros, es casi lo mismo que las funciones, pero pueden contener función retardada o temporizada. Entonces lo que quiero decir con esto, Vamos a crear algo. Entonces, por ejemplo, en el juego de inicio, imprimamos una cadena en la pantalla y solo es saludar. Y retrasemos este código por dos segundos, o 2.220. Y vamos a imprimir otra cadena de pantalla diciendo, hola. Otra vez. Esto es muy creativo. De acuerdo, entonces ahora tenemos este código. Y ahora si trato de marcar estos y hacer clic derecho y colapso para funcionar igual que aprendimos en la lección anterior. Ahora dirá que colapsar a la función falló. ¿ Y por qué es esto? Hagamos clic en el registro de show message. Y va a decir que el retraso no se puede colocar en el gráfico de funciones. Tan importante saber, las funciones no pueden contener funciones retrasadas o son funciones cronometradas, así se llaman. No pueden contener funciones cronometradas, por lo que realmente no se puede llamar a Labs a una función. Esto no funcionará. Se puede colapsar esto a una función y esto a nuestra función. Pero realmente no se puede colapsar este retraso dentro de una función. Entonces, en lugar de hacer una función, harías una macro en su lugar. Por lo que haga clic derecho en él y Contraer a Macro. Ahora, ahora tienes una macro y puedes darle un nombre,
por ejemplo, solo mensaje, lo que sea. Entonces ahora tienes una macro y puedes ver aquí realmente
contiene una función retardada o un tiempo para funcionar. Y esto es lo que quieres hacer. Si tienes alguna función de tiempo, no
puedes crear funciones. Se pueden crear macros. Si haces doble clic en él, al
igual que antes, serían funciones. Se puede ver aquí se puede ingresar y se puede ver la macro. Se puede ver que tenemos una entrada y una salida, igual que tuvimos con la función. Entonces si vuelvo a hacer doble clic en la función para que podamos verla. Tenemos la entrada aquí y la salida, que es el nodo devuelto. Y lo mismo que tenemos con la macro, pero ahora realmente podemos tener una función cronometrada dentro de ella. Volvemos a la Gráfica de Eventos. Se puede ver que realmente no tenemos un pin de ejecución aquí, igual que tenemos aquí. Por lo que realmente no podemos continuar con nuestro código. Y esto es porque hay que añadir uno. Y dentro de la macro que tenemos, tienes esta salida. Y esta salida. Puedes agregar una variable igual que hiciste con la función. Y aquí puedes agregar un pin de ejecución. Entonces esto es algo que no podías hacer con las funciones. Realmente no se pueden agregar pines de ejecución. De qué se puede hacer con macros. Para que puedas conectarte, compilar y puedes ver aquí ahora tenemos un bolígrafo de ejecución y
solo podemos continuar nuestro código si queremos codificar más en nuestro juego aquí en este evento. Entonces ahora puedes ver aquí, este es el nombre de la misma, así que dale algo que tenga sentido. Por ejemplo, digamos, solo
llamémoslo retorno. Y puedes ver aquí cambia de nombre. Y algo genial de las macros para, aparte de las funciones cronometradas es que puedes crear múltiples pines de ejecución. Si hago clic en estos tres, llamémoslo cuando. Llamémoslo suelto. Y ahora tienes múltiples, múltiples pines de ejecución, que puedes usar aquí en tu gráfica. Entonces esto es, esto es bastante cool y estos tienen usos dos. Entonces si quieres que ocurran múltiples eventos aquí, puedes hacer una macro y hacerlo. Puedes hacerlo con funciones. Las funciones siempre tienen un solo pin, pero las macros pueden tener múltiples pines y pueden tener función cronometrada, nuestro tiempo, las funciones. Lo que suelo hacer cuando programa es que nunca creo macros a menos que realmente necesite múltiples pines de ejecución. O si tengo, en este caso una función de retardo en el tiempo que necesito colapsar y puedo colapsar
porque no se puede colapsar función retardada o funciones de tiempo a una función, voy a colapsar a una macro en su lugar. También tenemos macros ya prefabricadas. Y esto es, por ejemplo, el es válido por derecho es válido. Y veamos cómo podemos encontrarlo. Si nos desplazamos hacia abajo, se puede ver este. Este es en realidad una macro a, ellos tal vez, tú lo has visto antes, tal vez no. Esta es una macro y esto en realidad se usa, vamos a usar eso más adelante. Pero esto se usa para ver si nuestro objeto es válido o no. Entonces, por ejemplo, si creamos una referencia a este piso, podemos conectarlo. Y ahora el juego comprueba. ¿ Este piso es válido antes de continuar con el código? Porque si la Florida no existe, ¿por qué debo continuar con el código? Entonces esto es en realidad una macro. Y si haces doble clic en él, puedes ver aquí que en realidad es una macro y hay alguna lógica dentro de ella. De acuerdo, volvamos a nuestra gráfica. Y para ver tus macros, las
puedes ver aquí a la izquierda y la pestaña Macros, esta es la que hemos creado. Y puede crear múltiples macros ya sea de nuevo colapsándola a nuestra macro, o puedes hacer una nueva macro haciendo clic en el plus y puedes darle un nombre. Yo sólo voy a llamarlo nombre. Y puedes poner tu lógica dentro de aquí. Y de nuevo, puedes crear variables, por ejemplo, lápiz de ejecución si las necesitas. También puedes crear otras variables, por ejemplo, booleanos y así sucesivamente. De acuerdo, así que esto fue todo para macros, y espero que esto no fuera demasiado confuso. Sigamos con la siguiente lección y muy pronto trataremos de usar todo lo que hemos aprendido en John ejemplo. que podamos aprender mejor cómo usar las macros, cómo usar los eventos y cómo usar las funciones.
23. Función y biblioteca de macro: Por lo que antes de terminar esta sección, en realidad
puedes crear bibliotecas para agregar funciones allí y macros allí que puedes usar globalmente entre todos los blueprints. Y esto es bastante útil si hay una función que tienes que usar en todas partes, tendrás que ponerla dentro de la biblioteca y podrás acceder a ella en todas partes. Entonces yo solo, solo quería mostrarles cómo hacer una biblioteca antes de ir al ejemplo. Y hagamos una nueva carpeta. Si haces clic con el botón derecho y haces una nueva carpeta, Llamémoslo blueprints. Siempre es agradable estar organizado. Y dentro de la carpeta Blueprints azul, Vamos al interior de planos. Y aquí puedes hacer una biblioteca de funciones de blueprint o una macro biblioteca de blueprint. Hagamos una biblioteca de función de blueprint. Y para esta biblioteca, se
puede llamar cualquier cosa. Por ejemplo, vamos a cerrar verso llamado biblioteca por ahora. Y si haces doble clic en él, puedes ver aquí que ahora estamos dentro de una gráfica, y esto se parece a nuestro gráfico de eventos en el que trabajamos aquí. Pero esta es en realidad la biblioteca y sólo contiene funciones. Entonces digamos que quería usar una función, por ejemplo, para imprimir un mensaje. Entonces solo voy a llamar a myfunction print message. Y esta función sólo va a contener cadena de impresión. Y voy a decir que esto es de mi biblioteca. De acuerdo, entonces ahora va a imprimir un mensaje diciendo que esto es de mi biblioteca. Si compilo y guardo también puedo agregar un nodo de retorno si quieres que se vea limpio. De acuerdo, entonces ahora podemos acceder a esta función porque está dentro de nuestra biblioteca, podemos acceder a ella en cualquier lugar. Entonces si vuelvo a mi Level Blueprint y por aquí, voy a escribir el nombre de esta función que hice. Voy a volver y voy a escribir mensaje impreso. Y ahora se puede ver dentro de una clase y biblioteca, se
puede ver el mensaje de impresión. Y también si vas aquí abajo en clase y biblioteca, puedes ver todas las funciones de tu biblioteca. De acuerdo, así que puedes hacer click en imprimir mensaje. Y ahora si te conectaste, y vamos a compilar y dar click en play. Whoops, podemos jugar. Se puede ver esto es de mi biblioteca. Entonces así es como haces funciones dentro de bibliotecas. Si quieres acceder a ellos en todas partes, puedes ver que no aparecen aquí porque la función no está hecha dentro de aquí. Se hacen dentro de la biblioteca. Y si hago múltiples planos, que haremos más adelante, puedes usar la función en todos estos planos. En lugar de entrar en cada plano y tratar de hacer de la función la misma función, serán solo una pérdida de tiempo. Por lo que yendo dentro de la biblioteca, creando la función que usarás todo el tiempo. Y luego volviendo a todos estos planos y usando esta función. Ahora recuerda que no quieres hacer todas las funciones dentro de aquí, solo aquellas que quieras usar todo el tiempo. Entonces si hay unas funciones específicas dentro de aquí, no lo estás realmente, realmente no quieres entrar aquí y hacerlo porque tal vez solo quieres
acceder a ella aquí o quieres acceder a ella entre dos planos diferentes. Esto solo se usa para cuando realmente necesitas acceder a planos por todo el lugar. Y recuerda que esto afectará en realidad el rendimiento del juego si tienes una
enorme, enorme biblioteca a la que tienes que acceder, recuerda solo usarla cuando tengas que usarla. Por ejemplo, en este caso, digamos que queremos imprimir este mensaje en todos los planos que tenemos. Voy a usarla y solo usarla si tienes que acceder a una función muchos, muchos lugares, y no sólo un lugar sobre dos lugares. Por lo que realmente no hay una regla para que uno lo agregue aquí. Pero solo puedes intentar juzgar cuándo quieres agregarlo aquí y cuando quieres hacerlo dentro de aquí, Lo mismo va con las macros. Realmente no quiero hacer uno, pero vamos a hacer rápidamente la biblioteca. Y puedes ver aquí, puedes elegir qué tipo de biblioteca quieres hacer. Y esto es un poco más confuso porque realmente no hemos hablado de esos. Y si hago click en actor, puedes ver aquí ahora tienes una macro. Y esta macro sólo funciona para actores. Y realmente no quiero meterme en ello por ahora. Tenemos lecciones para esto. Entonces hablemos ahora solo para decir que puedes crear bibliotecas para macros, y puedes crear todas las macros que quieras crear igual que hicimos con la biblioteca de funciones. Muy bien, pasemos a la siguiente lección y tomemos un ejemplo de todo lo que hemos aprendido e intentemos aprender mejor haciéndolo en la práctica.
24. Eventos, funciones y macros: Hola y bienvenidos de nuevo. Ahora intentemos usar todo lo que hemos aprendido en este ejemplo. Entonces en este momento tengo este mapa llamado el tutorial de mapa que hicimos antes. Y era sólo un mapa de símbolos que hice, llámalo Mapa Tutorial. Y esto es todo. No hay nada dentro de este mapa, así que está todo vacío. Entonces lo que queremos hacer es lesionar primero el Planeador de Nivel. Por lo que aquí arriba en Blueprint, abre el Plano de Nivel. Y ahora mismo está vacío. Y por lo general quiero eliminar esto por ahora. Por lo que está totalmente limpio y está completamente vacío. Entonces para empezar, queremos, lo que quería hacer para este ejemplo es que quiero hacer tres planos, lo que tres terrenos diferentes. Y estos aviones volverán a borrarse unos contra otros hasta que alcancen una meta. Y uno de ellos ganará cuando llegue a la meta. Entonces es algún tipo de carrera de matrices y hay que hacer clic en el botón para borrar con el avión. De acuerdo, tan juego muy sencillo. No es el próximo Counter-Strike, pero quiero decir que es un comienzo. De acuerdo, así que empecemos y lo único que podemos empezar es agregar los eventos o en realidad podemos simplemente agregar los aviones primero. Creo que eso tendrá más sentido. Entonces vamos a crear tres formas. Crearemos un plano, o crearemos un cubo o una esfera. Vamos, vamos a crear una esfera en realidad como más cool que un avión, ¿verdad? Tres esferas, y aquí tenemos una. Tenemos uno aquí, y tenemos uno aquí. ¿ De acuerdo? Y por cierto, si quieres duplicar, tienes que mantener presionado Alt mientras arrastras. Así es como duplicas. De acuerdo, entonces ahora tenemos tres aviones y podemos aumentar la forma de ellos o podemos dejarlos ser. Eso depende de ti, pero tal vez no importa realmente para esto. No es un juego competitivo. Podemos hacer este tamaño a R1 y medio. También una caminata para no cambiar los tres números, solo
podemos hacer click en este candado. Y de esta manera sólo podemos cambiar un número y va a cambiar los tres. ¿ De acuerdo? Simplemente pondré estas esferas por encima del suelo. De acuerdo, Entonces no importa demasiado. Ahora tenemos tres esferas diferentes. Entonces lo que quiero hacer ahora es hacer click en el primer nombre de miedo y dividendo. Entonces lo llamaré esfera pequeña. Haga clic en el siguiente, llámalo esfera media. Y dar click en el último y llamarlo esfera de pérdida. Siempre es agradable darles nombres porque en la programación hay que saber cuál es cuál. ¿ De acuerdo? Entonces ahora tengo estas tres esferas diferentes y lo que queremos hacer es que queremos sumar un gatillo de dólares. Entonces si vas a Crear, tienes algo llamado disparador de Bugs. Y si presionas G, Así podrás ver todos los iconos. Este es un disparador de caja y lo que esto significa es
que en realidad podemos hacer un evento o algo sucede cuando se superponen estos dólares de gatillo. Entonces voy a escalarlo hacia arriba, presionando R para ir a la herramienta de escala y simplemente escalarlo hacia arriba. También puedes escalarlo aquí si lo deseas en este panel Detalles. Pero no importa, Depende de ti. Simplemente estoy escalando de esta manera y colocándolo en el medio. Entonces es como una línea de oro. De acuerdo, Entonces ahora tenemos un gol y lo hacemos un poco más grande, por lo que cubre todo. De acuerdo, entonces ahora tenemos esto y estas tres esferas se levantarán unas contra otras y una de ellas lo hará, hará, cuando alcancen la meta más rápido. De acuerdo, así que vamos a guardar todo. Ahora este es nuestro nivel sencillo. Pasemos a unos planos y creemos la ganancia. Por lo que abre el Plano de Nivel. Y aquí queremos borrar con tres botones. Por lo que queremos controlar esta esfera con el botón EE. Queremos controlar este con el botón R en el teclado. Y queremos controlar éste con el botón T. Y volvamos atrás. Por lo que estos son hechos reales. Entonces si haces clic en E aquí y tal vez escribes clave, no la encuentras, solo sube. Y esta es la clave. Por lo que este es un evento para cuando se presiona o suelta la tecla EE. Entonces haga clic en él. Y se puede ver aquí esto en realidad es un evento porque se trata de un nodo rojo. Esto significa que es un evento. Y encontremos la llave R. Y encontremos al descarado. De acuerdo, entonces ahora tengo la llave E, llave y el tiki, así que estos son eventos. Entonces si hacemos clic en la tecla E del teclado, ¿qué pasa si hacemos clic en la R? ¿ Qué pasa? Entonces lo que queremos pasar es que queremos mover estos miedos, ¿de acuerdo? Muy bien, entonces. Hagamos esto en realidad. Hagamos que se muevan. Entonces por aquí, queremos conseguir una referencia a la esfera para empezar,
con la tecla E, queremos mover esta esfera. Por lo que estoy dando clic en esta esfera y luego vuelvo aquí y hago clic derecho y clic en, creo una referencia a esfera pequeña. Ahora que tenemos una referencia a la esfera pequeña, queremos establecer la ubicación real. Entonces si solo escribes una ubicación para encontrar el nodo correcto, puedes ver aquí tenemos algo llamado set location que hemos usado previamente. De acuerdo, entonces cuando presionas a, quieres establecer una nueva ubicación para esto. Entonces, ¿cuál debería la ubicación B? Realmente no podemos hacerlo estático. Porque si lo hacemos estático, como si presionamos, si presionamos E Now, déjame hacerlo 50 o algo así de pila y click play. Entonces si voy aquí y hago clic en E, ves que no pasa nada ahí. Esto en realidad porque te dice, esta malla tiene que ser móvil. De lo contrario no se puede mover en el juego. Entonces haga clic en las mallas y haga clic en movibles, movibles e inamovibles. Y volvamos a intentarlo. Ahorremos, guardemos todo, y juguemos de nuevo. Ahora cuando hagas clic en Aceptar, ahora lo moverás 50 y unos pocos vuelven a hacer clic en E. No pasa nada porque este es en realidad un número estático. Simplemente lo estás moviendo a la dislocación. No lo estás moviendo cada vez que procedes. Entonces lo que queremos hacer es que queremos obtener la ubicación actual de la esfera. Queremos agregarle un cierto número, y luego queremos establecer la ubicación por este número. Entonces tratemos de crear tal vez se ponga más explicativo cuando lo veas. Entonces, para empezar, desconectemos esto. Y para la esfera, Probémoslo. Obtenga una ubicación precisa. Y de manera más fácil si no sabes cómo se llama, justo ubicación. Y verás la ubicación de get actor. De acuerdo, entonces ahora tenemos la ubicación de este actor que está por aquí. Entonces, ¿qué, qué queremos hacer con la dislocación? Y queremos moverlo a lo largo del eje x. Porque se puede ver aquí en el punto de pivote, esta manera es en realidad el eje x, el punto de pivote rojo. Aquí lo puedes ver. Es dx. Y queremos moverlo por el eje x de esta manera. Entonces lo que queremos hacer, queremos volver aquí y queremos moverlo hacia el eje x. Por lo que queremos dos más d x eje. Queremos cambiar el valor. Entonces este es un vector. Y recuerda, un vector contiene tres números, x, y, y z Pero lo que nosotros, lo que
queremos, sólo queremos editar el valor z. Y podemos hacer esto arrastrando aquí y escribiendo break vector. Entonces ahora estamos rompiendo el vector en la x, y, y z.
Y sólo queremos cambiar la x. así que por ejemplo, plus, y en realidad, creo que lo es, creo que es negativo porque, whoops, Ahora minimizo ella. Creo que es negativo porque vamos por aquí. De esta manera. Esto es plus, esto es menos. Bueno vamos a volver atrás y escribir menos 7. A lo mejor deberíamos haber escrito restar diez. Probemos esto. ¿ De acuerdo? Y ahora queremos hacer el vector, no
queremos cambiar los valores y y z, por lo que esto debe permanecer igual. Entonces ahora aquí puedes hacer, puedes hacer un vector. Entonces haz vector. ¿ De acuerdo? Por lo que ahora Meg vector, esto es correcto, esto está enchufado a la x y la y y z deben permanecer igual. Entonces al hacer esto, en realidad rompimos el vector. Editamos el valor x, y luego volvimos a hacer el vector. Entonces ahora tengo el vector de nuevo, pero esta vez realmente cambiamos el valor x. Entonces lo que quiero hacer con esto es cada vez que presionas la E, quieres restar 10 de la x. Entonces de esta manera lo mueves por 10 y regresas para proceder. Entonces ahora esta nueva ubicación es esta. Voy a establecer la ubicación real. Por lo que ahora antes de hacer clic en play, recuerda agregar esta pequeña esfera al objetivo. Y en realidad puedes hacer doble clic en esta, esta línea. Y esto creará este nodo aquí, que es un pin de conexión. Y puedes mover esto, y esta es una buena manera de organizar tu código. Entonces esto es bastante guay. Y uso esto para organizar el código. Y ahora debería funcionar en realidad. Entonces si compilas y haces clic en
Guardar, guarda todo y haz clic en Reproducir. Puedes ver aquí si haces clic en E, te estás moviendo por 10 cada vez. Si sigo haciendo clic en E, me moví por 10 cada vez. Entonces esto es bastante guay. Y tal vez podamos moverlo un poco más de esto es muy lento. A lo mejor puedes moverlo por 20 en su lugar. Está bien, así que esto está funcionando. Y lo siguiente que quiero hacer es que quiero imprimir un texto en la pantalla para mostrarme cuántos pasos he dado. Y esto es simplemente simple como lo hicimos antes. Podemos simplemente usar una cadena de impresión. Y veamos qué hacemos. En realidad podemos hacer un eventos personalizados. Entonces hagamos un evento personalizado. Y a este evento podemos llamar a agregar pasos. De acuerdo, y necesitamos una variable para esto, algo para almacenar nuestra cantidad de pasos. Haré una nueva variable, llámala. Llamémoslo pasos tomados. Y por aquí lo cambiamos a entero porque es un número sin decimales. Si fue qué? Decimales habríamos elegido flotador. Pero este es un número sin decimales, y es por eso que elegimos entero, mantenemos Control y lo arrastramos hacia fuera para conseguirlo aquí. Y queremos, queremos agregar un paso cada vez que pulsas E. Así que solo escribe más plus, porque plus, plus está agregando uno al valor especificado, entonces lo dijo automáticamente. ¿ De acuerdo? Y queremos imprimir este valor. Así que imprime cadena y conecta esto. Pero ahora se va a imprimir cada vez que presionamos E. Vale, así que recuerda, este evento no va a funcionar actualmente porque realmente no
hemos dicho que el juego fue a llamar a este evento. Entonces recuerda, cada vez que presionas E, quieres agregar un paso. Entonces por aquí, escribe el nombre del evento. Por aquí, da click en Agregar pasos son correctos como pasos para llamar a este evento. Entonces ahora cada vez que presionamos E, vamos a mover la esfera y también llamar a este evento para agregar un paso a nuestra variable. De acuerdo, entonces ahora podemos compilar y dar clic en Play. Podemos dar click en E. Y se puede ver aquí en realidad se está moviendo y también está imprimiendo en la pantalla cuántos pasos hemos dado. De acuerdo, entonces ahora que los pasos están funcionando, Hagamos algo por diversión. Por ejemplo, si das 25 pasos, el juego te dirá que probablemente deberías dejar de jugar el juego y empezar desarrollar más porque de lo contrario quieres terminar con el juego. Entonces por ejemplo, aquí en los pasos dados, Escribamos igual. Y tal vez lo hice demasiado rápido, lo
haré un poco más lento. Entonces escribe el signo igual, elige el igual. Y por aquí puedes hacer doble clic, hacer un pin para hacerlo más organizado. En realidad puedes marcar estos dos y dar click en cue para hacer una línea recta. Y puedes arrastrar fuera de esto y hacer clic en B para crear una sucursal y conectada. De acuerdo, Así que ahora estás diciendo, es igual a los pasos dados, digamos 25. Si esto es cierto, entonces el juego hará algo. Y si es falso, hará otra cosa. Entonces en este caso, si los pasos no son 25, No
haremos nada. Si los pasos son un 25 que queremos o vamos a imprimir un string diciendo, deja de tendido y comienza a desarrollarse de nuevo. ¿ De acuerdo? Por lo que dirá es que probablemente deberías dejar de jugar el juego y hacer algunos órganos que Vamos a compilar y guardar. Y ahora funciona. Podemos establecerlo más tarde, pero esto probablemente debería funcionar. Entonces si vuelvo y ahora queremos que este objetivo funcione. Entonces para que funcione como queremos, si esta esfera golpea este objetivo, queríamos imprimir que esta pequeña esfera tiene una o esta esfera mediana tiene una y así sucesivamente. Por lo que queremos hacer es dar click en esta caja de activación. Y si bien hemos hecho clic en esto, volvamos a nuestro gráfico de eventos y al Plan de Nivel. Y vamos a hacer clic con el botón derecho,
ir bajo Eventos, ir bajo colisión, y luego hacer clic en el anuncio en Twitter, comenzar la superposición. Por lo que este es el actor inicio evento de superposición. Pero, ¿qué pasa cuando este gatillo se superpone? Y queremos imprimir un mensaje diciendo que esta esfera tiene una. Y qué esfera tiene una. Queremos obtener el nombre de la esfera, y éste es en realidad el otro actor. Este es el actor que es, vamos a chocar con este gatillo de dólares. Por lo que queremos conseguir el nombre de la misma y solo puedes escribir nombre y verás que algo llamado esto se pone disciplinar. Obtendrán nombre para mostrar es en realidad este nombre de aquí arriba. Este es el nombre para mostrar. Por lo que queremos obtener el nombre para mostrar. Y tratemos de engancharlo y ver qué pasa. Por lo que queremos sólo dividir el nombre por ahora. Daremos clic en Jugar. Y has mirado E, puedes ver que no pasa nada. ¿Y por qué es eso? Esto se debe a que hay que hacer click en la esfera. Y aquí abajo bajo colisión, hay algo llamado generar eventos de superposición. Si no tienes esto comprobado, no
lo tienes, no puedes hacer ningún evento de superposición. Así que comprueba esta esfera que es capaz de hacer eventos de superposición y guardarlo. Frágil click Play
and click E. Y puedes ver aquí arriba a la izquierda que dice pequeña esfera. Y esto es correcto. De acuerdo, entonces hagámoslo más interesante. En lugar de sólo decir esfera pequeña, sólo
queremos imprimir el mensaje en su lugar. Entonces hagamos una nueva variable, hagamos una nueva variable de texto, y lo llamemos un mensaje. Y elija el tipo de variable como texto. Entonces ahora tenemos este único mensaje. Vamos a compilar. Y para este mensaje, digamos el, ahora no podemos escribir esfera pequeña porque este será texto estático. Qué es, la esfera media uno. Entonces para que esto sea dinámico, en realidad
tienes que usar corchetes rizados. Tan corchete rizado, y no importa lo que escribas dentro de este corchete rizado. Y dentro de aquí, solo
puedes escribir, por ejemplo, te
mostraré el soporte y luego rizado. Inicio. Escribes algo dentro del corchete rizado, y luego lo terminas, y luego continúas. O una frase, por ejemplo, así. Por ejemplo, la esfera pequeña tiene uno o la esfera media tiene uno. Ahora para hacer, para llenar este espacio de soporte rizado, puedes arrastrar esto hacia fuera. Entonces este es el mensaje de viento y tenemos que usar algo llamado formato texto. Entonces qué formato es el texto, realidad
podemos formatear este corchetes rizados en algunos textos que nosotros, que agregamos dinámicamente. Si agrega esto cuando mensaje al texto de formato, puede agregar un pin aquí. Y se puede ver que hay un 0 y este es nuestro 0 por aquí. Pero si puedes escribir lo que quieras dentro de estos corchetes rizados. Si escribes, por ejemplo, esfera ahí, algo esfera tiene uno. En realidad hay que hacer clic aquí y también se llama esfera. Entonces hay que llamarlo igual. Y ahora puedes, puedes conectar este get display name a este formato de texto. Y luego puedes conectar este texto de formato a la cadena de impresión. Entonces ahora se va a decir D. Y la esfera de los paréntesis de color es en realidad este texto. Entonces es el nombre para mostrar. Entonces, por ejemplo, va a decir la esfera media, esfera
media, y luego tiene una. ¿ De acuerdo? Y esto se imprimirá en la pantalla. Cambiemos esto a un color verde. Hagámoslo 10. Para que podamos verlo. Y vamos a dar click en jugar. Y si tienes suerte y lo golpeas, va a decir que la pequeña esfera tiene uno. Entonces esto está funcionando. Y lo que queremos hacer es que queremos desactivar la entrada para que no lo hagas, ya no
puedes hacer clic cuando ganes el juego. Entonces desactivemos ninguna visualización, deshabilitemos la entrada. Pero deshabilitar entrada. Y es pedir un controlador de jugador. Y aquí solo puedes escribir get player controller. Por lo que esta es la capa, el controlador de jugador adjunto a este jugador. Vamos a compilar y hacer clic en Guardar, guardar todo. De acuerdo, vamos a hacer clic en Jugar y minimizar esto. Y si hago clic en E, y es uno, en realidad presiono más porque e es mi arriba y abajo. Si lo puedes ver en tu propio teclado, ya no
puedo hacer clic. Por lo que este juego se ha detenido. De acuerdo, así que volvamos y en realidad tendremos que hacer que funcione en todo lo demás. Por lo que también tenemos los arcas y el Tiki. Entonces para hacer esto, en lugar de venir aquí y copiar pegar este código. Y yo estoy haciendo esto y conectándome y esas cosas. Esta es una mala práctica. Hemos aprendido en lecciones anteriores. En realidad puedes colapsar las cosas a las funciones para que
puedas hacerlas más limpias y acceder a ellas fácilmente. Entonces lo que quiero hacer es lo único que va a variar en estos otros botones, el R y T son las esferas a las que estamos referenciando. Entonces si hacemos click en la esfera media y vamos a referirla. Entonces aquí abajo, esto es para la esfera mínima una que hacemos clic en nuestra y para la otra, es la esfera grande. Entonces, hagamos referencia a este. Ahora tengo referencias. Entonces estas son las únicas cosas que variarán. Este código de aquí será el mismo. Y así lo que podemos hacer es éste como un evento, así que realmente no necesitamos colapsarlo porque esto es lo mismo. Entonces esta va a ser la misma. Y esto es lo único que va a variar. ¿ De acuerdo? Entonces lo que podemos hacer es hacer clic derecho en esto y seleccionar el colapso para funcionar. Entonces ahora tenemos guantes a una función y vamos, llamémoslo mover esfera. Llámalo algo que tenga sentido. Entonces podemos eso tiene sentido para nosotros más adelante. De acuerdo, entonces si hago doble clic en el, si hago doble clic en la función que acabamos de hacer, y solo muevo las cosas hacia abajo para que esté un poco más organizada. Y puedes ver aquí, automáticamente crea entrada para nosotros. Y si hacemos doble clic en él, se
puede ver aquí estas entradas están conectadas. Esto es un poco doble. Realmente no necesitamos a estos dos porque esto en realidad es lo mismo. Se puede ver aquí está conectado a ambos. Sólo necesitamos a uno de ellos. Y lo que voy a hacer es hacer clic en este nodo de inicio y voy a eliminar uno de ellos. Entonces me voy, voy a borrar este botón uno. Y voy a llamar a esta esfera. El actor de esfera es quizá un nombre más específico. Entonces lo que voy a hacer es conectarlo aquí. Entonces ahora este es el actor de esfera. Por lo que por aquí, voy a dar click en Alt y dar clic aquí para desconectar. Entonces ahora es más correcto. Este es el actor de esfera que hemos conectado. ¿ De acuerdo? Y este es el sumar pasos, que es este evento que se llama Abajo aquí. Entonces ahora lo que podemos hacer es usar esta esfera de movimientos. Entonces si compilo y guardo, y hagamos doble clic en él, esto se ve bien. Bajemos aquí. Y lo que puedo hacer es simplemente arrastrar hacia fuera la esfera lisa y puedo conectarla. Y ahora puedo conectar esta esfera media, el actor de esfera. Ahora esto, éste es el que aquí abajo. Es la esfera media la que se está conectando a todo esto. Y aquí abajo, podemos copiar pegarlo. Y esto va a mover la esfera grande en su lugar. Entonces esto está muy limpio. En lugar de copiar pegar todo el código. Si quieres hacerlo más limpio, realmente no importa, pero puedes escribir retorno, el nodo de retorno. Por lo que si solo escribes devolución, haz clic en el nodo Añadir Retorno. Esto sólo se veía más, se ve más limpio. Realmente no agrega más al código, pero se ve más limpio. Entonces eso está bien. Volvamos al Gráfico de Eventos y veamos qué nos falta. Por lo que necesitamos agregar pasos. Solo agreguemos pasos aquí para que se sume a la cantidad total de pasos. Y estamos llamando a este evento cada vez que hacemos clic, vamos a hacer clic en Compilar y Guardar todo. Y recuerda hacer click en estas otras esferas y tomar los eventos de superposición generar. De lo contrario quieres realmente superponer este gatillo dólares. De acuerdo, Así que guarde todo y hagamos clic en Jugar y probarlo. Entonces si hago clic es decir, muevo esta bicicleta son, muevo esta esfera, y si hago clic en T, muevo esta esfera. Podemos ver aquí se suma a la cantidad total de pasos cada vez que hago clic. Y si yo, por ejemplo, quería ganar con la esfera media, dice
que la esfera media tiene una, y realmente no puedo hacer clic más porque he desactivado la entrada. Entonces este fue un juego pequeño y sencillo. Y si quieres ver esta caja Trigger dentro del juego, porque puedes ver si hago clic en Jugar, es invisible. Puedes hacer clic en esta caja de gatillo, bajar aquí y desmarcar a este actor escondido en el juego. Entonces ahora lo puedo ver en juegos que quieres jugar, puedo ver la caja Trigger frente a ti. Ejemplo que quería mostrarte, y fue un poco más complejo de lo que solíamos hacer en las otras lecciones, pero aun así muy sencillo. Y si quieres, puedes usar el evento start play para y decir, por ejemplo, la carrera ha comenzado. Vamos, vamos, vamos. Algo como esto, lo que quieras. Y así ahora cuando empezamos el
borrado, dirá el, la carrera ha comenzado y probablemente deberías correr ahora. De acuerdo, entonces cuando volvamos, lo que hicimos es que este comience a jugar. Se, imprime este texto. Y luego tenemos estos eventos, la llave E, la clave, y el Tiki. Entonces si los pongo aquí arriba para que esté más organizado para ti. Entonces tenemos el Yuki, el archae, y el Tiki. ¿ De acuerdo? Y cuando presentas es clave, algo pasa. Y lo que pasa es que mueves la esfera. Y esta es la función colapsada que hicimos. puede acceder a ella a través de aquí, o se puede acceder haciendo doble clic aquí en las funciones. Se puede ver una pestaña se abre aquí. Por lo que puede cambiar entre el Gráfico de eventos y la función colapsada. Y dentro de esta función tenemos una entrada, y este es el actor de esfera que tenemos que insertar dependiendo de qué actor sea. Y esto también se puede hacer con sólo hacer clic en el plus aquí y buscar actor. Entonces es este actor e incluso puedes hacer otros actores. Entonces así es como se hace esto. Esto, esto se hizo automáticamente, pero ahora puedes ver cómo lo haces manualmente. De acuerdo, Entonces este actor fue hecho y así conseguimos la ubicación real. Rompimos el vector, que es éste. Sólo queremos mover el eje x. Hacemos el vector de nuevo para hacerlo, para volver a convertirlo en un vector. Y agregamos como la nueva ubicación para esta esfera. De acuerdo, entonces esta es la más esfera y luego agregamos pasos. Y este es el evento que hicimos aquí está llamando al evento. Y cada vez que hacemos click en E, llamará a este evento, que más 1 sobre los pasos dados. Y te llevará a una pantalla. Y si es igual a 25, dirá
dejar de jugar el juego y dejar de jugar y sub desarrollar el juego. Y por último, cuando te superpongas con el gol o con el cuadro Trigger, se mostrará un solo mensaje. Y este mensaje tiene estos corchetes rizados llamados esfera. Es éste de aquí. El ámbito es el nombre que mostrará el nombre para mostrar, que luego muestra dinámicamente en lugar de que escribamos un mensaje estático. Y podrías haberla llamado como quieras. Podías haberla llamado caramelo. Y recuerda cambiar este nombre a Candy 2. Y esto funcionará también si desconectas esto
conectado a los dulces y solo tienes que hacer clic derecho y hacer clic en Refrescar notas. Por lo que ahora funciona también. Por lo que realmente no importa cómo lo llames, pero solo llámalo algo que tenga sentido para ti. Y luego imprimimos este texto final a la pantalla por cadena de impresión. Y desactivamos la entrada siempre que el jugador haya ganado. Y otra cosa final, si quieres sacar más de ella, recuerda comentar tu código. Entonces aquí por ejemplo, puede marcar todos estos, click en C y dar clic en eventos E y C para mover nueva esfera. No sé lo que quiera. No quiero que este video sea demasiado largo, pero recuerda comentar todo tu código. Esta es una buena práctica. Y porque por ejemplo, en 15 días, si vuelves, realmente no
puedes recordar lo que has hecho. Y esto es muy fácil solo ver todos los comentarios y ver lo que tu terminado. Espero que esto también haya sido útil. Y si algo es confuso o algo de lo que quieres saber más, por favor avísame y te responderé en los comentarios o dentro del servidor comunitario de discordia si estás ahí dentro. Y con gusto te ayudaré. Es impresionante que lo hayas hecho hasta ahora. Esto es realmente, realmente un gran progreso. Entonces ahora vamos a ir a cosas más avanzadas. Por ejemplo, las matrices. Y más adelante, aprenderemos más sobre cómo configurar personajes, cómo usar un controlador de jugador y todas estas cosas. Entonces gracias por ver esta lección y pasemos a la siguiente.
25. ¿Qué son los Arrays?: De acuerdo, entonces es hora de hablar de matrices. Entonces qué es una matriz, una colección de elementos. Entonces aquí le he tomado una foto a Google sólo para explicárselo antes de que lleguemos a trabajar dentro del motor. Por lo que aquí se puede ver una matriz. Una matriz es simplemente una caja y puede ser lo más grande que pueda ser. Por lo que no tiene que ser estas cinco ranuras. Puede ser tanto tiempo como quisieras dentro del juego. Y es una caja y está dividida en secciones pequeñas. Por lo que puedes ver aquí en lodo 0, tienes alguna información. En la ranura uno, tienes algo de información y así sucesivamente. En una matriz, puede almacenar información múltiple. Digamos que tenemos un entero, un número de variable dentro del juego, y lo convertimos en una matriz. Esto significa que podemos almacenar múltiples números dentro de aquí. Por lo que en la ranura 0 podemos tener un número, por ejemplo, cinco. En la ranura uno, podemos tener otro número, por ejemplo, 23 y así sucesivamente. Por lo que tenemos una colección de números o colección de elementos y podemos usarlo durante la jugabilidad. Ahora otro ejemplo para hacerlo más fácil es si te imaginas que se trata un inventario dentro de un juego FPS, por ejemplo, Counter-Strike. Y en la ranura 0 tienes tu cuchillo. En la Ranura 1, tienes tu PESTEL como lotería. Tienes tu AK-47, una ranura 3, tienes tu granada, y así sucesivamente. Todos estos se llaman actores en el juego. Y así tienes información en cada una de estas cajas dentro de la matriz. Por lo que durante la jugabilidad, puedes optar por llamar alguna información específicamente. Entonces por ejemplo, quiero usar la información que se almacena en la ranura t2. Entonces esto es lo que es una matriz. Es simplemente una colección de elementos que podemos usar durante la jugabilidad. Entonces saltemos al motor y tal vez te
quede más claro si todavía suena confuso.
26. Crear un conjunto: De acuerdo, entonces aquí estamos dentro del motor. Vamos a seguir adelante y hacer nuestra primera matriz. Entonces pasemos al nivel que creamos. De acuerdo, Así que estoy aquí y dentro de esos niveles voy a entrar a los Planeados de Nivel. De acuerdo, este es el ejemplo que hicimos antes, pero vamos a ignorar eso por ahora. Yo sólo voy a desconectar el lugar de inicio para que podamos usarlo aquí arriba. Y la forma en que haces una, una matriz es simplemente crear una variable porque las matrices son variables. Entonces aquí, crea una nueva variable. Y para éste, lo vamos a llamar nombres de personajes. Tendremos un montón de nombres de caracteres dentro de esta variable. Entonces nombres de caracteres, esto es algún tipo de texto y esto es, podemos hacerlo con una cadena. Recuerda, siempre es bueno usar estos. El que requiere memoria más pequeña si eres capaz de textos son, eres capaz de localizarlos. Podrás traducirlos a diferentes idiomas, por ejemplo, alemán o chino. Pero los nombres realmente no necesitan traducción para que podamos vivir con una cuerda. De acuerdo, entonces ahora tenemos algunos, algunos nombres de personajes. Y si arrastras esto normalmente como lo hicimos antes, esto es solo una variable normal y esto no es una cadena, me refiero a no una matriz. Entonces vamos a borrar. Y la forma en que lo conviertes en una matriz está aquí a la derecha. Se puede ver que hay un botón pequeño, pequeño. Si haces clic en este pequeño botón, puedes cambiarlo en cosas diferentes. Entonces en este momento estamos trabajando con matrices. Y aquí puedes hacer clic en él y ver que ahora se convierte en un montón de cajas. Y ahora tenemos una variable de cadena de matriz. Entonces vamos a arrastrar hacia fuera esta variable de cadena de retención Control, arrástrelo hacia fuera en el Gráfico de eventos. Y se puede ver aquí ahora se ve un poco diferente. Si yo, si arrastro otra variable que no es una, una matriz, se puede ver la diferencia. Esto es alrededor de pin. Este es un alfiler cuadrado. Entonces ahora esto es una matriz, esta es una variable normal. Por lo que ahora podemos agregar algo de información a nuestra matriz. Y antes de eso, al igual que hicimos con las variables, recuerda compilar antes de poder agregarle información. Por lo tanto Compilar y Guardar. Y aquí puedes ver puedes agregar elementos a esta matriz. Entonces en lugar de ser una cadena, así que vamos, solo
voy adelante y creando una variable normal. Entonces solo voy a llamar a este nombre de personaje, y lo estoy cambiando de nuevo a una variable normal solo para que podamos ver la diferencia. Ahora esta es una variable normal, esta es una, una matriz, y estas son ambas cadenas. Entonces si compilo, puedes ver aquí esta matriz de caracteres o este carácter, lo siento, variable normal. Podemos, por ejemplo, escribir un nombre y podemos escribir John. Entonces ahora tenemos a John aquí. Y en esta matriz podemos tener información múltiple. Recuerda que este es un conjunto de cajas y podemos tener información múltiple aquí. Entonces si hace clic aquí aplausos, podemos escribir a John. Esto está en el índice 0. Y el siguiente índice podemos tener mi nombre. Y el tercero, podemos tener a Kasper. En el cuarto, podemos tener, no sé, serpiente. Y una se llama serpiente de Metal Gear Solid. Podemos tener Viber. Entonces ahora tenemos un montón de nombres. Tenemos cinco nombres, y recuerda que una matriz siempre comienza en 0, así que borrar nunca comenzó uno. Entonces no es 12345, Siempre es 01234. Por lo que empieza en 0 y puedes agregar tantos como quieras aquí si necesitas. Y ahora si queremos imprimir esto a la pantalla,
sería, sería la función de cadena de impresión, realmente no
podemos hacer eso porque recuerden que esto es una matriz, y las matrices tienen esta caja mirando aquí. Y esto no es una matriz como variable nominal. Entonces si lo arrastras sobre, va a decir array de cadenas no es compatible con string. Por lo que hay que hacer algo antes de poder imprimirlo a la pantalla. Y esto es lo que vamos a aprender en la siguiente lección. Pero antes de terminar, recuerda que puedes crear una carrera con todas las demás cosas. Entonces puedo crear una matriz de enteros. Entonces los números, y puedo llamar a esto, no
sé, tal vez los niveles de carácter no son muy creativos en este momento. Por lo que tenemos niveles de carácter y puedes cambiarlo en una matriz. ¿ De acuerdo? Entonces ahora esto es una matriz. Y aquí puedes volver a Compilar y Guardar. Y puedes agregar todos los números que quieras a esta matriz. Para lo que necesites. Esto podría ser niveles de jugadores y puedes agregar tantos como quieras. Para que puedas tener una matriz de números, puedes tener una matriz de texto. Y les mostraré en la siguiente lección cómo podemos
acceder a esta información en estos diferentes índices.
27. Funciones de Array: De acuerdo, entonces ahora que hemos creado nuestra primera matriz, vamos a repasar y hablar de las funciones de matriz que existen. Obviamente, no los voy a cubrir todos porque hay muchos de ellos, pero te mostraré cómo encontrarlos. Entonces si arrastras fuera de esta matriz y vas a Utilidades y vas dentro de la matriz aquí, puedes ver que tenemos muchas funciones que podemos usar para esta matriz. Entonces, por ejemplo, si queremos imprimir la longitud de esta matriz, la longitud es de cinco. Recuerda que tenemos cinco nombres diferentes, por lo que empieza en 0, termina en cuatro. Tenemos cinco informaciones diferentes aquí y estas podemos imprimir. Entonces ahora estamos obteniendo la longitud de esta matriz, y este es cinco actualmente. Y este es el número, esta es la longitud de la matriz. Podemos imprimirlo a la cuerda para ver la longitud de la misma. Para que podamos compilar y hacer clic en Play. Y va a decir cinco aquí arriba. Entonces si lo hago solo un poco más largo para que tengas oportunidad de verlo. Dice cinco aquí arriba. De acuerdo, Entonces ahora la longitud es de cinco. Y por ejemplo, otro es el último índice. Por lo que el último índice es de cuatro. Recuerda que empieza a 0, termina a las cuatro. Por lo que el último índice imprimirá 45 de la compilar y haga clic en Play. Se puede ver aquí dice cuatro. Y te puedes imaginar que tienes diferentes usos para ello cuando estás programando el juego. Ya sea que desee el último índice o si desea la longitud de su matriz. También puede encontrar información específica dentro de esta matriz. Entonces si vuelves a utilidades y matrices, así que ahora aquí puedes obtener información obtiene. También puedes encontrar un artículo, o también puedes preguntarle si contiene un artículo específico y puedes hacer algo fuera de eso. Entonces, por ejemplo, encontrar artículo. Y ahora encontremos, creo que teníamos a John aquí. Sí, ¿tenemos género tiene innumerables hallazgo Casper. Entonces lo digo para encontrar a Casper, ¿tenemos a Kasper en la matriz? Y vamos a encontrarlo. ¿Dónde está Casper? Y ahora se va a decir, Aquí está dentro del índice dos. Entonces si volvemos a la matriz y vamos al índice dos y vemos a Casper así. Se puede encontrar información específica. También puedes escribir get. Y aquí se puede obtener la información de, por ejemplo, el índice 3. Voy a imprimirlo a la pantalla. Y índice 3 tenemos serpiente. Entonces en el índice 3 tenemos serpiente. Por lo que estas son las diferentes funciones de array que puedes usar, y hay muchas de ellas. Volvamos a array. Y puedes, puedes preguntar si la matriz está vacía. Si está vacío, puedes hacer una sucursal aquí, puedes conectarla. Y luego dices, si esto es, si esta matriz está vacía, ¿qué quieres hacer? Si no está vacía, ¿qué quieres hacer? Por lo que esto puede tener usos específicos también. Vamos a arrastrar hacia fuera y ver una de las últimas, últimas funciones antes de terminar el video. Por lo que tenemos el, se
puede obtener algún elemento de matriz aleatoria también. Entonces, si tienes una matriz entera, puedes obtener un número aleatorio de ahí. El largo de lo que hemos hablado, se
puede obtener el último índice. Se puede preguntar si un índice es válido. Y ves aquí todos estos son verdes, pero también tienes funciones azules. Recuerda, las funciones verdes de las que hablamos antes son las funciones que obtienen información. En tanto que las funciones azules son las que establecen la información. Entonces estableciendo aquí es que se puede, por ejemplo, una clara su matriz. Entonces si quieres eliminar toda la información que está dentro de esta matriz, puedes usar el nodo clear y puedes conectarlo. Y ahora despejará todo en esta matriz. De acuerdo, vamos a borrar eso. Echemos un vistazo a otro. Puedes usar anuncio, por lo que puedes agregar durante tu jugabilidad, durante el juego, puedes agregar un nuevo nombre. Entonces por ejemplo, Vamos a añadir serpientes. Serpientes amigo se va a agregar a esta matriz. Y ahora puedo, puedo imprimir esto,
este índice al que se va a agregar, y puedo dar clic en Play. Y ahora tenemos índice 5. Recuerda que sólo teníamos el índice cuatro aquí. Por lo que ahora se agrega amigo de serpientes y él está en el índice cinco. Entonces así es como se usan las funciones con las matrices. Y puedes imaginar múltiples usos para ello. Se puede tratar de, la mejor manera de aprender esto es solo hacer clic en una función. Traté de usarlo, a ver qué pasa y aprenderás mejor de esta manera. Posteriormente, vamos a hacer nuestro juego. Entonces cuando he hablado de todos los elementos básicos en programación y planos, vamos a diseñar nuestro propio juego y ahí también estaremos usando matrices, tratar de colocar diferentes funciones, tratar de jugar con el array. intentó hacer diferentes matrices de
otras, otras variables y ver cómo se pueden utilizar. Y pasemos a la siguiente sección y hablemos del flujo de ejecución.
28. ¿Qué son las funciones del flujo de ejecución ejecución?: Bienvenido al primer video del flujo de ejecución. Entonces de lo que el flujo de ejecución antes hablamos es de que el código siempre se ejecuta cronológicamente. Por lo que a partir del evento, siempre
vamos al siguiente nodo y lo ejecutamos. Estamos, entonces corremos al siguiente nodo y lo ejecutamos. Este lo va a ejecutar y así sucesivamente. Realmente no podemos saltar de esto a esto sin haber ejecutado este código. Entonces tenemos que ejecutar todo el código cronológicamente dentro de esto, dentro de esta línea blanca. Y se puede ver aquí la orden de ejecución o
flujo de ejecución se puede cambiar con diferentes nodos. Por ejemplo, el nodo de secuencia, que vamos a hablar más adelante. Y puedes ver aquí podemos, podemos ejecutar un tipo de código y luego podemos ejecutar otro después de eso. Por lo que realmente no va en línea recta. Es más bien ahora ir en diferentes direcciones. Y de esto vamos a hablar. Vamos a hablar de las notas que pueden cambiar
el flujo de ejecución y lo que significan cada una de ellas. Entonces vamos a repasar y hablar del nodo S válido en el siguiente video.
29. Es de chequeado: Entonces el nodo válido S simplemente está preguntando si algo es válido y si lo es, entonces almorzas un cierto código. Entonces, por ejemplo, pasemos a nuestro nivel. Creamos este juego antes. Y realmente no tienes que tener este juego si eliminaste el nivel, Está bien. Yo solo quiero hacer referencia a un elemento dentro de este nivel. Entonces por ejemplo, la pequeña esfera, voy a dar clic en ella, y luego voy a volver a dar clic en mi plano de nivel, hacer clic derecho y llamar a una referencia de esta pequeña esfera. Y ahora puedes arrastrarlo aquí y escribir es válido. Y se puede ver aquí que éste sería signo de interrogación. Esto en realidad es una macro. Entonces ahora te preguntas, esta pequeña esfera
es válida? Si es válido, entonces haz algo, entonces imprimamos a la pantalla y digamos que esta esfera existe. Existe. ¿ De acuerdo? Entonces, ¿qué está haciendo este nodo en realidad es preguntar, esta esfera realmente es válida en el nivel? ¿ Se crea? Si no lo es, entonces haz otra cosa. ¿De acuerdo? Y esto en realidad se usa mucho en el juego porque imagina si tienes un personaje y lo tienes, digamos un juego multijugador o simplemente un juego para un solo jugador. Y el personaje aún no ha engendrado. Y luego tienes algún código de movimiento. Entonces, por ejemplo, haces clic en W para avanzar. Siempre vas a preguntar si el personaje ha generado eso porque ¿por qué ejecutarías el código para hacer clic en W para seguir adelante si el personaje realmente no ha generado todavía. Por lo que esta es una muy buena para la optimización. Siempre preguntando, ¿esto es realmente válido? ¿ La pequeña esfera está realmente en el nivel? ¿Lo es? Después sigue adelante y haz que el jugador pueda presionar R para avanzar, por ejemplo. Y si no es válido, entonces haz otra cosa. Y lo que suelo hacer aquí, sólo un poco de contenido extra para ti. Lo que suelo hacer es eliminarlo. Por lo que retrasarlo con 0.2 segundos, por ejemplo. Y después de retrasarlo, voy a volver a ejecutar esto. Por lo que va a correr como un bucle hasta que la respuesta del jugador. Por lo que te puedes imaginar que el jugador está seleccionando a un equipo ahora mismo que está seleccionando, digamos que es Counter-Strike. Está seleccionando terroristas son antiterroristas y en realidad aún no ha
engendrado, está seleccionando lo que quieres ser. Por lo que este juego va a seguir dando vueltas. ¿ El personaje existe en el nivel? Conoce a los jugadores en realidad todavía en la selección de personajes, entonces el jugador no es válido, por lo que el personaje aún no se engendró. Entonces ahora me voy a retrasar con 0.2 segundos y luego me voy, cuando esté terminado, voy a volver a ejecutar el código y preguntar, ¿ya
responde el personaje? Y va a dar vueltas y vueltas hasta que el jugador haga clic en el terrorista o antiterrorista y engenere dentro del nivel. Entonces dice que sí, ahora el jugador es válido. Vamos a seguir adelante y hacer esto aquí. Entonces así es como se puede utilizar el nodo válido.
30. Secuencia: A pesar de que el nodo de secuencia se utiliza para limpiar tu código. Entonces vamos a tratar de hacer el nodo de secuencia, tratamos de arrastrar fuera de este pin de ejecución y secuencia derecha. Y se puede ver aquí ahora tenemos un nodo de secuencia. Y este nodo de secuencia se utiliza para limpiar el código. Entonces, en lugar de tener una larga línea de código, ahora
puede dividir el código hacia arriba. Entonces por ejemplo, podemos escribir aquí, imprimir cadena. Ahora se va a imprimir primer mensaje. Y lo copiaré pegaré y lo vincularé al segundo aquí y diré segundo mensaje. Entonces aquí en el nodo de secuencia, una vez que puedes hacer es realmente limpiar el código y vas a decir, hacer esto en secuencia. Entonces haz esto primero, luego haz esto, y luego puedes hacer esto y así sucesivamente. Por lo que primero va a ejecutar el código desde este pin. Entonces va a decir primer mensaje. Y si tuviéramos una larga línea de código aquí, primero
va a ejecutar todo ese código. Y luego va a bajar a ejecutar todo este código después de él. Y luego se va a ejecutar todo este código aquí abajo. Y puedes hacer tantos como quieras. Puedes hacerlo todo el tiempo que quieras. Y este es el nodo de secuencia es muy fresco para limpiar el código. Entonces, en lugar de tener una línea completa de código, si tiene sentido dividirlo, adelante y usa el nodo de secuencia. Entonces por ejemplo, aquí abajo en el juego
que hicimos anteriormente, no tiene sentido hacer una secuencia, pero en realidad solo quiero mostrarte porque esto es bastante pequeño, el código aquí. Y lo que quiero hacer es simplemente alejar esto un poco más. Y quiero hacer aquí una nota de secuencia. Entonces estoy haciendo una secuencia. Y ahora se va a decir, cuando ejecutes este evento, primero, haz este código por aquí. Y no quiero, no
quiero hacer esto junto con éste. Entonces me voy a desconectar y moverlo aquí abajo. Vamos a moverlo hacia abajo. Y lo voy a vincular por aquí, ¿de acuerdo? Y voy a volver a vincularlo de nuevo así, pero creo que se ve desordenado, así que voy a copiar pegarlo. Eso es lo mismo y solo úsalo aquí abajo para que se vea más limpio. De acuerdo, entonces ahora en realidad estoy haciendo lo mismo, pero lo estoy haciendo a través de un nodo de secuencia y se ve un poco más limpio. Por lo que va a decir cuando ejecute esto, este evento, ejecute este código primero. Entonces agregando los pasos e
imprimiéndolo, imprimiéndolo a la pantalla, luego seguir adelante y comprobar si los pasos son iguales a 25. Entonces este es el mismo código, nada diferente, pero en realidad lo dividimos en diferentes secciones. Por lo que a veces tiene más sentido dividirlo. Por lo que no está en línea completa de código y se ve, se ve un poco desordenado si todo está junto. Por lo tanto, usa su secuencia denotada para limpiar tu código.
31. Flop de flop: Ahora sigamos adelante y creamos un nodo flip-flop, y te mostraré qué es eso. Entonces sigamos adelante y creemos un evento. Y aquí quiero tener unas teclas de teclado. Entonces por ejemplo, la tecla F, estoy seguro en la tecla F, este evento. Para que podamos hacer click en el teclado y hacer algo. Y hagamos el nodo flip-flop. Entonces cuando presionas la F, hacemos el nodo flip flop. Y aquí, ahora en la chancla, esto es como un interruptor. Se va a ir de, se va a ejecutar el código en una. si haces clic, si vuelves a hacer clic, se va a ejecutar el código en B. Y si vuelves a hacer clic se va a ejecutar el código y a y así sucesivamente, sólo va a cambiar todo el tiempo. Entonces por ejemplo, si escribo aquí, voy a escribir el código en una, voy a copiarlo pegarlo y enlazarlo aquí y decir el código en B. De acuerdo, así que ahora si compilo y hago clic en Play, y veo aquí esto es de mi viejo video. Entonces si hago clic, si primero va a decir el código en a, y luego va a decir el código y B. Entonces se va a decir el código en a. Si vuelvo a hacer clic,
y si vuelvo a presionar F, va a decir el código en V. Entonces va a cambiar entre a y b Entonces esto es lo que hace un nodo flip flop. Por lo que te puedes imaginar un interruptor en una luz y estás colocando la luz y puedes encenderla y apagarla usando el nodo flip flop.
32. para bucle: Entonces ahora hablemos de los bucles o puedes buscar algún código determinado. Entonces vamos a repasar y crear un bucle. Y para este vamos a hablar del bucle for. Entonces escribiendo el bucle for. Y se puede ver aquí, hay algo llamado FOR loop. Entonces este para cada uno es en realidad para matrices, pero queremos usar los de aquí abajo. Entonces para bucle, y este es el bucle. Por lo que ahora podemos recorrer algún código cierto, cierto. Y este es el primer índice. Entonces esto es, se trata de variables de variables miembro siempre comienzan en 0. Y podemos escribir, oops, lo hice doble clic. Podemos escribir algún otro índice. Entonces, por ejemplo, cinco. Ahora va a recorrer del 0 al último índice, que es de cinco. Y aquí en el cuerpo de bucle, ¿
qué queremos bucle? Entonces esto es lo que queremos hacer bucle. Entonces por ejemplo, quiero saludar 6 veces. Recuerda que empezamos a las 0 y terminamos a las cinco. Por lo que se trata de seis en total. Por lo que quiero saludar seis veces. Y cuando termine de decir hola 6 veces, cuando sea, cuando se complete el bucle, voy a decir que este bucle está hecho. Ahora voy a decir que este bucle está hecho, y voy a elegir otro color. Y ahora vamos a seguir adelante y compilar y hacer clic en Play. Y vas a ver que dije hola seis veces. Y entonces dije, el bucle está hecho. Entonces así es como se usa para bucles. Por lo que esto puede ser codificado como lo que hicimos. Para que puedas escribir un número determinado y compilar click Play. Ahora vamos a saludar 26 veces. Y luego después de saludar 26 veces, vamos a decir que el bucle está hecho. Y esto es, esto puede ser peligroso, como los bucles pueden ser peligrosos. Codificación, porque imagina que tienes un bucle que es, que son 10 mil y voy a tratar de hacer click play y espero que mi computadora no vaya a soplar humo. Y puedes ver aquí, hago clic en Play y en realidad ha funcionado, pero tardó algún tiempo antes de que empezara a jugar. Entonces si tienes un bucle muy enorme dentro de tu juego, esto puede afectar en gran medida el rendimiento porque
tienes que pasar por toda la pendiente antes de que puedas, antes de que se haya completado. Y si eres como, tengo una muy buena computadora ahora mismo. Pero si tienes a alguien con una computadora mala va a rezagarse, son tal vez él va a chocar en realidad del juego. Por lo que hay que tener cuidado con los bucles, pero definitivamente necesitan ser utilizados. Los usamos mucho cuando codificamos un juego. Pero sólo ten cuidado. A veces eres capaz de crear bucles
infinitos y estos definitivamente estrellarán tu juego. Y si quieres, también puedes imprimir el índice aquí. Entonces, por ejemplo, puedes conectar este índice y puedes ver aquí el número de índices que se están imprimiendo. Y lo que puedes hacer en lugar de codificar duro aquí, en realidad puedes, realmente
puedes enchufar variables plug in en lugar de usar hardcoding. Y también otro for loop. En lugar de solo usar el bucle for, tenemos algo llamado For loop with a break. Entonces qué es un bucle for, un seguimiento con break es que se ve como
justo, al igual que el for-loop desde antes de tener el índice, primer índice y último índice que podemos establecer. Y también tenemos el cuerpo de bucle. Entonces, ¿qué quieres bucear? Por ejemplo, la impresión hola. Y cuando esté terminado, ¿qué quieres hacer? Pero esta vez tenemos un descanso. Por lo que aquí puedes ver tenemos un, un, un, un pin de ejecución extra. Entonces hablemos de este descanso. Entonces aquí en este ejemplo, vamos a recorrer algo. Entonces, por ejemplo, podemos, podemos hacer un texto de formato para éste. Entonces formatea texto, lo voy a escribir aquí para mi texto. De acuerdo, Entonces tenemos un texto en formato y podemos escribir algún tipo de alianza. Para que podamos escribir el slew ha estado corriendo. Y podemos escribir en los paréntesis rizados como aprendimos antes. Y no importa lo que escribamos, cierra los paréntesis y podemos escribir tiempos. De acuerdo, entonces ahora tenemos el 0. En realidad podemos poner este índice dentro de este texto de formato. Y va a decir que este bucle se ha estado ejecutando, por ejemplo, 15 y luego veces. De acuerdo, entonces ahora tengo este texto en formato y queremos imprimir a la pantalla. Vamos a imprimir cadena conectada. Y ahora lo vamos a añadir a la cadena. Esto es lo que queremos hacer bucle. De acuerdo, y cuando esté terminado, vamos a decir que el bucle está completo. Y vamos a tratar de compilar y hacer clic en Play. Y puedes ver, en realidad quiero hacer esto más largo, así que es mucho más fácil para ti verlo. Desaparece de la pantalla tan rápido. Se puede ver que dice que este bucle se ha estado ejecutando cinco veces, de 0 a cinco veces. Y este descanso es, es que en realidad podemos romper este bucle en medio del bucle. Por ejemplo, si este bucle se ha ejecutado demasiadas veces. Entonces, por ejemplo, digamos que tenemos 1, 0, 0, 0, 0. Entonces si compilo y hago clic en Guardar, puedes ver que este bucle se ha ejecutado por esta cantidad de veces. Pero, ¿y si queremos romperlo? Si golpea 20 o si golpea por encima de 20 veces. Por lo que no queremos ejecutarlo más de 20 veces. Entonces lo que podemos hacer es realmente usarlo como un descanso. Entonces aquí necesitamos un, un evento. Entonces vamos a crear un evento personalizado. Y aprenderemos de esos. Simplemente escribe personalizado y haz clic en el evento del cliente, llámalo algo. Podemos llamarlo romper el rompimiento el bucle por ejemplo. Y este cliente eventos, tenemos que conectarnos con el descanso, ¿de acuerdo? Y recuerda, los eventos no funcionarán si no los llamas a ningún lado. Por lo que la computadora realmente no sabe cuándo ejecutar esto. Entonces si haces clic en Play, nada pasa realmente porque nunca llamas a este evento, nunca
lo llamas en algún lugar. Y hay que llamar a este evento dentro del cuerpo de bucle. Porque si haces clic en jugar y vas a bucear, vas a terminar este bucle antes de hacer otra cosa. Por lo que tienes que llamarlo dentro de este bucle si quieres romper el bucle. Entonces aquí voy a decir, si este bucle está buceando mayor a 12 veces, ¿
se ve más de 20 veces? Y si esto es cierto, si esto es cierto, entonces queremos romper. Entonces llamaré a este evento por aquí. Lo que puedes hacer es simplemente escribir el nombre del mismo, romper el bucle. Esto es lo que llamamos el evento. Entonces si es mayor que 20, entonces rompe el bucle. lo contrario si no es mayor a 20, solo sigue adelante y sigue imprimiendo este mensaje. De acuerdo, así que vamos a compilar y hacer clic en jugar. Y se puede ver aquí, ahora estamos ejecutando el bucle en realidad 21 veces porque también estamos contando el 0. Pero ahora puedes ver que en realidad rompimos el bucle y dice que el bucle está terminado. Entonces así es como utilizas un bucle se rompería mientras que el for-loop sin el break va a bucle todo sin ningún descanso. Pero recuerda, si usas el bucle for se rompería, tienes que llamar a este evento dentro del cuerpo del bucle. Pasemos al siguiente video y hablemos del bucle while.
33. Mientras bucle: Entonces hablemos del bucle while aquí. Pasemos al evento de juego de inicio. Y de aquí vamos a arrastrar hacia fuera y madurar para bucle o un bucle while. Esto es lo que, de esto se trata, el bucle while. Entonces ahora tenemos este while loop y esto es antes de que hable de ello, esto es muy peligroso de usar. Casi nunca debes usarlo en tu juego. Deberías usar los otros bucles. Pero les mostraré por qué esto es peligroso. Porque vamos, vamos a crear una condición aquí. Entonces, por ejemplo, vamos a crear un booleano y llamémoslo está muerto. Ahora estamos preguntando si el jugador está muerto o no. Ahí se transformó en booleano. Y se puede ver aquí este es un array en este momento, por lo que se cambió de nuevo a una variable normal. Vamos a sacarlo. Y ahora está preguntando, es el jugador que lo conectemos. Entonces esto es muy sencillo. Es inicio del juego. Y este mientras loop está preguntando, ¿es el jugador, está muerto el jugador o no? Entonces ahora vamos a mirar dependiendo de si el jugador está muerto no lo son. Entonces ahora mismo el plan no está muerto. Entonces no va a bucear. Entonces imprimamos un mensaje. Entonces ahora se va a decir como el padre pleura. Y sólo, esto sólo va a bucle si la condición es verdadera. Entonces en este momento el jugador está, no está muerto. Entonces no vamos a hacerlo, no vamos a imprimir nada. Por lo que voy a dar clic en Jugar. Se puede ver aquí que no está haciendo nada. Pero si el jugador está muerto, queremos hacer bucle algo, por ejemplo. Y ahora se está poniendo peligroso porque se puede imaginar esto. ¿ Cuándo va a parar esto? Este es un bucle infinito. Y esto nunca va a parar porque el jugador está muerto. Y tu orina, estás diciendo mientras el jugador está muerto. Entonces este es el bucle salvaje. Si bien esta condición es cierta, bucle este cuerpo. ¿ De acuerdo? Por lo que va a bucle este cuerpo hasta que el jugador ya no esté muerto. Entonces ahora lo hemos dicho a cierto, y realmente no hemos especificado cuándo ya no es ese el jugador. Entonces vamos a hacer clic en Play y esto se va a estrellar porque este es un bucle infinito. Entonces si hago click en Play, puedes ver aquí está, está rezagado. Ahora va a decir bucle infinito detectado. Entonces este es un bucle infinito. Entonces mientras esto, si bien esta condición es cierta, loop, este cuerpo. De acuerdo, Entonces otro mejor ejemplo para renunciar a esto, hagamos un entero en lugar de una variable estática o estática. Entonces, eliminemos esos. Vamos a repasar y hacer una nueva variable. Y en realidad sólo usemos esta variable pasos tomados. Entonces vamos a tomar esta variable pasos tomados. Este es un entero. Y podemos decir mientras este número es,
es mayor, sarpullido un poco menor, mientras que este número es menor. Después 10. Esta es la condición. Entonces mientras esto, mientras que los pasos dados como underturn, vas a bucle algo. Y cuando esto se complete, vas a imprimir esto está completo. Y para el cuerpo de bucle, recuerda, mientras que los pasos dados son menores de 10, así que tenemos dos mientras está buceando más él. Entonces, saquemos estos pasos tomados, y hagamos plus plus. Entonces vamos a sumarle uno cada vez. Entonces recuerda, plus, plus está agregando uno al valor especificado y luego lo configuramos. Está bien, y ahora vamos a imprimirlo. El monto de pasos. Bueno, este es nuestro cuerpo de bucle. Entonces ahora lo que estamos haciendo es mientras los pasos dados son menores de diez, vamos a bucle esto. Vamos a más un paso y luego imprimirlo a esta cuerda. Y vamos a recorrer esto hasta que los pasos dados estén por encima de 10. Y cuando esto termine, vamos a decir que esto está completo. Entonces vamos a compilar click Play. Y se puede ver aquí, así es como funciona. Vuelves a hacer clic en Reproducir, puedes ver esto aparece de nuevo. Entonces así es como usas while loops, pero ten cuidado con los bucles while. Pueden crear bucles infinitos con bastante facilidad.
34. Hacer una vez y hacer N: De acuerdo, entonces hablemos de las duales y hagamos notas finales. Entonces volvamos al plano de nivel y ábrelo aquí. Bueno, empecemos con el, usemos el evento clave F para este ejemplo. Entonces si teclado y nosotros podemos escribir aquí, hazlo una vez, y ahora tenemos el do uno nevado. Entonces lo que hacen una vez que el nodo hará es que disparará un cierto, cierto código solo una vez, y no volverá a dispararse a menos que restablezca el código, reutilice este restablecimiento. Entonces, por ejemplo, dirá, hagamos algo divertido, Vamos a escribir recargando. Entonces estás recargando un arma. Y solo puedes hacer esto una vez. Porque puedes ver aquí si hago clic en Jugar y hago clic en f, dice recargar, si vuelvo a hacer clic en f, no pasa nada. No puedo hacer clic en Africano porque este es el dual nevado. Solo puedes hacerlo una vez y tienes que reiniciar antes de que pueda hacerlo de nuevo. Entonces hagamos otra clave, y esta es la clave G. Y aquí he hecho un entero. En realidad puedo hacerlo de nuevo. Hagámoslo de nuevo, sólo para la práctica. Hacer una nueva variable llamada balas. Y esto debería ser un entero. Llévala aquí abajo. Y cada vez que disparas, se va a minús1 bala. Entonces, empecemos con 20 balas. Así que hacer el valor por defecto de 24, esta variable. Y cada vez que presionas se va a menos tableros. Y vamos a imprimir eso, esa cantidad a la pantalla. Entonces hagamos un texto de formato solo por diversión para que podamos escribir. Y tú tienes eso. Vamos a tener entonces corchetes rizados para hacer las viñetas de texto dinámico que quedan? Y aquí podemos enchufar la cantidad de balas. Entonces va a decir que te quedan, por ejemplo, 15 balas. Y vamos a enchufar eso a la cuerda aquí. ¿ De acuerdo? Y ahora podemos probarlo. Entonces hago clic en Play y click en G. Así que ahora te quedan 16 balas, 15, 14, 12, así sucesivamente. De acuerdo, Así que eso es, ahora eso está funcionando. Y digamos que si estamos en, somos iguales o iguales. 0 balas. Si esto es cierto, entonces podemos recargar. Entonces por ejemplo aquí, podemos tener que hacer un evento personalizado para que se restablezca. Entonces hagamos un evento personalizado derecho, cliente. Y para esto podemos llamar y recargar, enchufarlo al reinicio. Entonces ahora tenemos que reiniciar, tenemos que llamar a evento, recordar tenemos que llamar a eventos para que funcionen. Entonces por aquí cuando tengamos 0 balas y esto es cierto, llamemos al evento y reiniciemos el nodo de éste para que podamos hacerlo de nuevo. Por lo que aquí podemos escribir, podemos recargar para llamar al evento. Entonces ahora es cuando tienes 0 balas, se va a reiniciar. Entonces en realidad podemos, uh, recargar de nuevo. Entonces sigamos adelante y pinchemos Play. Y se puede ver que hay un bug que realmente puedo recargar a pesar de que tengo balas para empezar. Por lo que en realidad podemos empezar a cerrar. De acuerdo, esto es lo que significa inicio cerrado. Entonces si hago click f Ahora no va a funcionar. Voy a disparar persona do. Si me quedan 0 balas, puedo dar click a F. Ahora puedo recargar. Y si vuelvo a hacer clic en f, no
va a funcionar porque este es el nuevo nodo de los. Tengo que disparar otra vez. Pero ahora puedo ver que tengo un bug porque realmente no le he dicho que se reinicie. Pero puedes hacerlo aquí. En realidad se puede tomar la cantidad de balas y se puede volver a
ajustar a 20. Y vamos a intentarlo de nuevo. Podemos jugar. Se puede disparar a las balas. Puedes presionar F, puedes recargar. Puedes empezar a disparar de nuevo. Pero ahora todavía se puede ir y menos realmente no he comprobado parte de eso, pero no se puede recargar. Se puede empezar de nuevo en la otra regla del futbol. Entonces esto fue todo por ahora. Yo sólo quería explicar que una vez nodo y esto es lo que hace. Reproduce un cierto código solo una vez hasta que realmente lo restablece, si lo restablece. Entonces lo siguiente es el nodo do n. Entonces esto es casi lo mismo. Tal vez lo puedas adivinar. Se puede hacer un cierto código n veces. Entonces este es el nodo. No voy a explicar demasiado, pero lo que haces es el mismo principio. Tienes. Se puede hacer una determinada acción varias veces. Entonces, por ejemplo, tres veces. Para que puedas imprimir o puedes decir, aquí hay dinero tres veces. Y cuando haces esto, tienes que reiniciar. Entonces usemos la tecla G para restablecer antes de que pueda volver a darte dinero. Entonces llegamos a hacer clic en Play and I click Earth, aquí hay dinero, aquí hay dinero, aquí está dinero. Y no puedo volver a presionarlo porque he dicho el n aquí, he dicho el entrar tres veces. Entonces tengo que presionar G para restablecerlo, y luego puedo presionar F3 veces otra vez. Entonces casi lo mismo que lo hacen el nodo de los unos, pero este es el nodo de dueto. Puedes establecer cuántas veces quieres hacer un código específico. Entonces, por ejemplo, le das dinero a alguien y tienes que hacer cierto trabajo para investigar antes de que te puedan volver a dar dinero.
35. Puerta y multi puerta: Hola y bienvenidos de nuevo. Entonces hablemos de nuestro último nodo de control de flujo. Entonces sigamos adelante y pinchemos en Planes y abramos nuestro Planeador de Nivel. Y de lo que vamos a hablar hoy es de la puerta y nodo de la puerta OR. Así que adelante aquí. Hagamos nuestro Begin Play. Y vamos a engancharnos a la puerta. Así que saca de la pluma de ejecución y deja ir y cabalga puerta. Y aquí se puede ver la puerta y el nodo de la puerta msi. Entonces, empecemos con el nodo de la puerta. De acuerdo, entonces lo que otra vez nota
es, es simplemente lo puedes imaginar como una puerta en un castillo. Para que puedas cerrar la puerta y abrir la puerta. Y cuando la puerta está abierta, puedes ejecutar algún tipo de código aquí. Y si cierras la puerta, este código no se ejecutará. Por lo que este es el principio principal de esta nota. Entonces déjame seguir adelante desconectado aquí. A lo mejor quiero usar una tecla de teclado en su lugar. Eso sería más fácil. Entonces usemos la clave, la clave en su lugar. De acuerdo, Entonces en nuestra prensa E, debería disparar o algún tipo de códigos para que podamos disparar esto y simplemente verla más baja por ahora. De acuerdo, entonces si hago clic en Jugar y voy por aquí en el punto E, se
puede ver que no pasa nada. Y esto se debe a que la puerta arranca cerrada. Por lo que palabras falsas, espalda baja y se puede ver aquí dice inicio cerrado y esto es lo que significa a la puerta está cerrada. Puedo disparar cualquiera de este código por aquí. Entonces si lo abro y compilo como play, clicky, puedes verte que te estoy diciendo hola y ahora la puerta está abierta. Vale, Entonces un ejemplo para usar esto es, por ejemplo, si el juego está en pausa, no
quieres disparar este código. Este es uno de los ejemplos de que puedes usarlo. Y hay múltiples ejemplos para cuando quieres que algún código determinado no se ejecute más. Para que puedas cerrar la puerta y elijas cuándo abrirla. Entonces déjame mostrarles cómo cerrar y abrir las puertas. De acuerdo, Así que vamos, hagamos un evento de clúster. Y este cliente eventos van a llamarse puertas abiertas. Y hagamos otros eventos personalizados. Y llamemos a éste cerrar puertas. Por lo que tenemos dos eventos personalizados. Míralos en la puerta abierta y cerrada. Y ahora vamos a tener una, vamos a tener la llave R. Por lo que éste va a abrir la puerta llamada The, llamado el evento. Y cuando presionemos R, Vamos a abrir la puerta. Y podría haberlo hecho así,
como conectarme a la puerta abierta y esto lo haría, esto en realidad sólo abriría la puerta cuando presiono R. Pero solo quiero mostrárselo a un cliente eventos. Porque cuando juegas a un juego o cuando desarrollas un juego, generalmente no tienes realmente, no
tienes teclas, teclas teclado conectadas a esto. Tienes eventos de clientes. Entonces voy a conectar el evento de cluster en piedra. Y lo que quieres hacer se llama sólo el evento de clúster para que, para jugar este evento. Y hagamos del TQ el que cierra las puertas. Personal, tengo portón abierto y cierro. Bien. Ahora vamos a compilar y hacer clic en Reproducir. Y ahora la puerta está abierta para empezar. Siempre que proceda, podemos saludar. Y si presiono el Tiki, cerrará la puerta. Y si hago clic en E, no pasa nada porque la puerta está cerrada. Si vuelvo a hacer clic en nuestra tobillera te, la puerta está abierta porque acabo de abrirla con el RP. Entonces así es como usas el nodo de puerta que tienes. Esto es técnicamente una puerta. Te puedes imaginar una puerta y una vida real y puedes cerrarla y abrirla. Y cuando está abierto, puedes disparar este código que está por aquí en el pin de ejecución de salida. Y si está cerrado, este código aquí en la ejecución, y la pluma de ejecución de salida será ignorada. Y puedes optar por iniciarlo cerrado o abierto. Y aquí puedes alterar para que te lo enseñe. Usemos los arcas y conectados al toggle. Ahora mismo se va a iniciar abierto. Voy a eliminar estos eventos personalizados porque ya no los tenemos. Y voy a dar clic en Jugar. Por lo que ahora mismo puedo saludar. Si hago click son, ya no puedo decir hola. Si hago click en Oregon, puedo saludar. Por lo que éste altera si cierras o abres el portón. Entonces echemos un vistazo a los multi portones. Nota. Entonces si escribes multi portones, haz clic en el nodo. Este se ve un poco más diferente, pero en realidad es el mismo principio. Entonces desconectemos esto. Déjenme realmente borrar esto aquí. No te confundas demasiado. Y ahora podemos conectar esto a nuestro evento like. De acuerdo, entonces ahora tenemos las diferentes salidas. Entonces, por ejemplo, tenemos cuatro salidas diferentes. Por lo que se puede ver aquí tenemos varios pines de ejecución en comparación con el, al nodo de puerta. Yo solo puedo colocarlo aquí arriba para que puedas compararlo. Y si el centro comercial atara nodo de puerta, se
puede disparar, se puede disparar un código diferente de manera controlada. Entonces aquí podemos decir kilo uno, hola a los tres inferiores, y tomemos una cuarta y llamarla hola cuatro. Y ahora podemos conectar estos a los diferentes bolígrafos. De acuerdo, ahora vamos a hacer clic, Componer y jugar y ver qué pasa. Entonces si hago clic en Play y hago clic en E, llega aquí, dice hola uno haciendo clic de nuevo en E, ley
asociada a los tres inferiores y hola para,
ok, entonces lo que pasa aquí es cuando haces clic en E y disparando este multi portón, se siempre dispara al primero porque tienes este índice inicial. Por lo que en el índice inicial elige por dónde empezar en estos banderines. Por lo que si has escrito y haces clic en Play, diría hola o tres. Entonces si compilo y hago clic en Play y hago clic en E, dirá hola 3. Por lo que este índice elige a qué pluma iniciar, y el valor predeterminado es minús1, por lo que siempre empieza desde el principio. Entonces, cuando presionas E y R multi-grado
, siempre dispara este código primero. Cuando disparas a este multi-estado, de nuevo, sabe
que ya disparó este bolígrafo de ejecución 0. Por lo que irá al uno y disparará este código después. ¿ De acuerdo? Y si vuelves a disparar la pequeña y diminuta nota, disparará el pasador de ejecución de los dos y así sucesivamente. Y cuando finalmente llegue al número tres
, detendrá el código. Así que vamos a tratar de compilar y hacer clic en Play. Y vamos a dar click e, il a 1234. Y puedes ver si vuelvo a hacer clic en E, es, no pasará nada. Entonces este es el nodo de la puerta. Jugarás todo el código y EU reproduciendo todo el código hasta la última pluma de ejecución. Ya no funcionará. Y para que funcione de nuevo, como si quieres volver a reproducir el código desde el principio, tienes que tomar este bucle. Esto es lo que significa. Volverá a recorrer el código. Entonces si haces clic en Play y haz clic en E, Hola, 1, 2, 3, 4. Y si vuelves a hacer clic en E, empezará a partir del uno. Ahora, ahora puedes recorrer tu código. ¿ De acuerdo? Y el último, esto es autoexplicativo, por lo que es aleatorio. Escogerá un código aleatorio de estos bolígrafos de ejecución. Entonces si haces clic en play y clicky, puedes ver que elige Hill 04. Hacemos clic en Jugar de nuevo, o una torpe de nuevo. Escogerá su ley 2 y así sucesivamente. Por lo que elige un pin de ejecución aleatoria desde el alcance. Y recuerda si no tienes loop, no volverá a reproducir este código. Tienes que tener loop para que vuelva a jugar. De acuerdo, entonces qué puedes hacer aquí, si no tienes ninguno, no tienes el bucle y quieres restablecer el código. Siempre puedes dejar decir que lo estás jugando en orden. Y por aquí quieres restablecer. Así que en realidad vas a reproducirlo de nuevo y quieres controlar cuando reinicies. Entonces vamos por aquí y hagamos un evento personalizado. Y llamémoslo reset gates, gator, y solo llamémoslo el reciente caimán y enganchémoslo hasta allí reset. Y por aquí en la tecla R, vamos a llamar a un reset Gator, que se supone que dice Gates. Y vamos a compilar. De acuerdo, entonces ahora podemos restablecer las puertas. Entonces vamos a hacer clic en Play, suerte hasta que se termine el código. Y ahora ya no hay más. Ahora puedo presionar R y la puerta se restablece y puedes volver a jugar con el código. Entonces así es como restableces. Y quieres restablecer cada vez que se termine la partitura y
quieres poner el código dentro del multi gate, mientras que el negate solo tiene un bolígrafo de ejecución. Y puedes optar por abrirlo y cerrarlo. O puede optar por tener un evento personalizado que alterne entre cerrado y abierto.
36. ¿Qué son las encierras?: De acuerdo, Así que bienvenido a esta sección sobre enumeración. Y por cierto, felicitaciones, lo
has hecho hasta ahora. Este es un progreso realmente bueno y ahora vamos a meternos en las cosas más divertidas. Espero que te hayas divertido aprendiendo sobre las notas anteriores. Pero para mí creo que esto ahora se está volviendo más divertido. Y también sobre todo en las próximas lecciones donde obtenemos sobre Clases de Blueprint y así sucesivamente. Entonces felicitaciones, esto es realmente bueno. Entonces sigamos adelante y aprendamos sobre la enumeración. Entonces lo que, uh, es una enumeración,
es sólo una lista de artículos. Entonces por ejemplo, puedes tener una lista de verduras, puedes tener una lista de animales. Se puede tener una lista de artículos. Se puede tener una lista de armas y así sucesivamente. Entonces es simplemente una lista de todo lo que quieras. También puede ser una lista de los movimientos de tus personajes. Entonces, por ejemplo, esprint, correr, agacharse, y así sucesivamente. Entonces este es un concepto muy sencillo y esta es una lista
muy, muy poderosa que puedes usar. Y lo uso todo el tiempo. Y sigamos adelante a la siguiente lección y veamos cómo podemos crear esta enumeración.
37. Crear una enumeración: Entonces para crear una enumeración, hay que,
vamos a repasar y hacer una carpeta Blueprints. Se puede ver que ya lo hice. Si no recuerdas cómo hacer uno, eliminaré éste y haga clic derecho en la carpeta de contenido y elijo la nueva carpeta. Llámalo planos, y es agradable estar organizado. Y haga clic derecho sobre aquí a la derecha dentro de esta carpeta. Y ahora bajo Planes, podemos crear la enumeración. Y la convención de nomenclatura para la enumeración es e. Así que siempre escribiré E al principio, y llamémosle movimientos de carácter. Entonces por ejemplo, agacharse, esprintar, y así sucesivamente. Entonces ahora tenemos una lista,
un doble clic en la enumeración, y se puede ver esta pestaña apareciendo. Ahora, este es un muy sencillo aquí puedes dar click en Nuevo para añadir un nuevo elemento a la lista. Y aquí está el nombre del artículo. Entonces por ejemplo, podemos agacharnos y puedo llamar a mi otro caminar y correr. Y puedo añadir sprint. Y puedes agregar lo que quieras. Por ejemplo, digamos poda. También puedes podar en el juego. Por lo que puedes agregar un montón de artículos es solo una lista e incluso
puedes agregar papas y lo que quieras. Pero esto realmente no tiene sentido en el movimiento del personaje. Voy a quitarlo y vamos a dar clic en Guardar. Por lo que ahora tenemos una lista de artículos. Entonces sigamos adelante y usemos esta lista que hemos hecho. Esta es la lista que hicimos. Entonces pasemos al Plano de Nivel en el que hemos estado trabajando. Y dentro de aquí, Hagamos una nueva variable. Y a esta variable vamos a llamar movimientos de personajes. Recuerda siempre llamarlo lo que sea que tenga sentido. Entonces recuerdas cuál es la variable. Y para llamar a esto, se
puede ver aquí tenemos enum. Ya hay muchas enumeraciones estándar que vienen con el motor. Y algunas de ellas nunca he usado. Hay algunos, tantos de ellos. Y vayamos aquí y llamemos a este movimiento del personaje E. Esta es en realidad la lista y que hicimos aquí. Y también puedes buscarlo. Y esto es muy bonito porque hicimos una, hicimos una convención de nomenclatura aquí hicimos un prefijo llamado E dos. Podemos encontrarlo rápidamente. Es por eso que necesitas hacerlos y solo decir movimiento de personajes. Y se puede ver aquí, esta es la enumeración. Entonces ahora esta variable es una enumeración. También lo puedes ver aquí también. Y vamos a mantener Control, arrastrarlo hacia fuera. Y puedes ver aquí ahora tenemos una enumeración en el Gráfico de Eventos. Y también se puede ver que la enumeración está funcionando, por ejemplo, solo imprimiendo. Y siempre imprimirá el primer valor que tienes en tu enumeración. Aunque, vayamos a imprimir una cuerda. Vamos a conectarlo a la enumeración. Y aquí estamos, ahora estamos imprimiendo el, la enum que se hicieron. Y vamos a hacer clic en Jugar. Y se puede ver aquí dice agacharse, no, en
realidad está imprimiendo algo de la lista. Y el esprint es en realidad esta lista. Esto, estos son los valores por defecto y
tú, puedes ver aquí esta es en realidad la lista que hicimos dentro de esta enumeración. Y digamos, quería añadir un movimiento más. Puedo seguir adelante dentro de mi enumeración, agregar un nuevo movimiento, y puedo llamarlo por hora parche agachado a, por ejemplo. Y puede optar por moverlo hacia arriba aquí. Lo estás moviendo hacia arriba junto con agachado. Ahora tenemos a Croce dos. Si guardamos y volvemos al Plano de Nivel y damos clic en la enumeración. Se puede ver que ahora tenemos agachados al interior de nuestra lista. Por lo que te puedes imaginar esto es muy poderoso. Puedes crear una lista de todo lo que quieras, y puedes elegir el valor predeterminado. También puedes manipular estos valores durante la jugabilidad. Entonces pasemos a la siguiente lección y aprendamos cómo podemos comparar esta enumeración.
38. Compara la enumeración: De acuerdo, bienvenido de nuevo. Entonces ahora aprendamos a comparar la enumeración. O al igual que nuestra variable entera o variable flotante, podemos, podemos escribir igual y podemos tener estos operadores y así sucesivamente. En realidad podemos comparar la enumeración. Por lo que me arrastré fuera de la enumeración. Se puede escribir igual. Y se puede ver aquí es algo llamado igual y no igual. Por lo que en realidad podemos compararlo. Y también se puede hacer no igual. Y en realidad se puede hacer esto haciendo la pregunta o el signo de exclamación y lo igual, esto significa no igual y lenguaje de programación. Por lo que ahora puedo ver aquí, ahora
podemos comparar esta enumeración. Entonces por ejemplo, podemos decir es, es la enumeración establecida a sprint. Y si esto es cierto para la enumeración es sprint, entonces no queremos que el jugador dispare el arma. Por ejemplo, no quiero que el jugador dispare el arma mientras sprint. El jugador sólo puede hacerlo mientras corre o camina. ¿ De acuerdo? Y si es falso, no se puede hacer nada, por ejemplo, o se puede hacer otra cosa. Y aquí por ejemplo, vamos a imprimir. Si es igual a sprint. Yo sólo voy a imprimir no puedo disparar. Y si no lo es,
entonces, entonces está bien enviar. Y esta enumeración. Ahora está configurado para sprint. Entonces ahora se va a decir que se puede disparar. Y ahora dice que puedes disparar. Y si cambias estas enumeraciones por otra cosa, por ejemplo, estás corriendo o estás caminando, y vas a jugar. Ahora está bien disparar. Para que puedas comparar una enumeración y ver qué es, cuál es el valor predeterminado. Y por ejemplo, en un caso, no
quieres que el jugador esté disparando mientras sprint. Se puede tratar de compararlo. Y si es cierto que el jugador es, es un sprint, entonces podrías, por ejemplo, haber hecho un ver booleano puede disparar. Y puedes poner esto puede disparar a falso porque ahora el jugador no puede disparar. Y ahora se
puede, siempre se puede aquí por ejemplo, en este caso muy sencillo, si no es igual a sprint, se puede disparar. Pero así es como se puede usar.
39. Cambiar la enumeración: Entonces hablemos de interruptor de enumeración. Y en primer lugar, sigamos adelante y eliminemos el valor extra que agregamos. Entonces vuelve a la enumeración que se crearon por aquí. Y voy a borrar el agachado a porque realmente no lo necesitamos. Y vamos a ahorrar. Y volvamos al Plano de Nivel. Taylor arrastró nuestra enumeración y ahora tratar de escribir switch. Se puede ver aquí es algo llamado
encendido y la enumeración que se tiene actualmente. Entonces esto traerá algo grande aquí y no te confundas. Esto es muy sencillo. En realidad enlistará todos tus,
de tus ítems de lista aquí. Entonces ahora puedes ejecutar un código dependiendo de lo que realmente quieras aquí. Por ejemplo, si eres un jugador está agachado, quieres ejecutar este código. Si eres un jugador se está ejecutando, quieres ejecutar este código y así sucesivamente. Por lo que vas a ejecutar un código dependiendo de lo que esté haciendo el jugador. Por ejemplo, si esta es una lista de frutas, Digamos por ejemplo, aquí
tenemos un plátano, y aquí tenemos una manzana. Entonces, por ejemplo, si es una manzana que tu jugador está sosteniendo, puedes hacer esto. Si es un plátano, puedes hacer esto y demás. Ahora en este caso tenemos switch y genoma, y en este caso, por ejemplo, podríamos cambiar la velocidad de movimiento del jugador. Entonces hagamos una nueva variable y lo llamemos velocidad de movimiento. Y cambiemos la variable a un flotador porque necesitamos un número con decimales. Y vamos a sacarlo, sostenga Alt y sacarlo para venderlo. Y por ejemplo, para agacharse, queremos establecer la velocidad de movimiento de 50. Esto realmente no significa nada ahora mismo. Solo estoy escribiendo números y podemos copiar pegado. Y podemos, cuando el jugador está caminando, quiero que se mueva un poco más rápido, así que tal vez 70. Y cuando corras, vamos a mover 100. Cuando estás corriendo, vas a mover 150. Y cuando estás poda dirías que no eres capaz de moverte. Entonces voy a ponerlo en 0, 0, conectemos todos estos. Y ahora se va a ejecutar el código dependiendo de cuál el valor predeterminado de enumeración o simplemente el valor en general. Entonces sigamos adelante y escribamos una cadena de impresión. Bueno, vamos a imprimirlo a la pantalla. Y vamos a enganchar todas estas velocidades de movimientos. Entonces en realidad podemos ver que lo está imprimiendo. De acuerdo, Entonces este fue el último y los voy a subir un poco para que esté más limpio. Se puede poner desordenado muy rápido. Entonces recuerda limpiarlo y hacer que estas líneas sean portadoras, pero no quiero que el video sea demasiado largo ahora mismo. Entonces vamos a guardar y hacer clic en Jugar. Y puedes ver aquí el valor predeterminado en este momento es caminar. Entonces va a establecer el movimiento del ser 270. Y si hago clic en Play, se puede ver que es, la velocidad de movimiento es en realidad 70. Y si lo fuera, digamos sprinting, nuestro sprint, la velocidad de movimiento será de 50. Por lo que esto es muy potente y también puedes usarlo en interfaces de usuario. Y luego voy a hacer un curso sobre interfaces de usuario. Y esto es muy guay porque puedes tener una lista de ventanas, por ejemplo, Menú Principal. Puedes tener la pantalla de selección de personajes, puedes tener la pantalla de perfil y así sucesivamente. Y en realidad puedes ejecutar cierto código dependiendo de qué ventana sea. Entonces estas son enumeraciones. Son muy fáciles de aprender. Es sólo una lista. Y si quieres agregar más a la lista, vuelve a la enumeración que creaste, agrega algunas cosas más a la lista y vuelve y aparecerán aquí abajo. Y luego puedes agregar más codificados dependiendo lo que necesites hacer para cada uno de estos pines de ejecución.
40. Ejemplo de enumeración: Hola y bienvenidos de nuevo. Antes de pasar al siguiente tema, vamos a repasar y ver un ejemplo. Entonces si jugamos, esto es lo que vamos a hacer. Se va a decir bienvenido amigo, por favor presione E para comer una fruta al azar. Y ahora cuando presionemos E, y se va a decir, va a elegir una fruta al azar. Y en este caso eligió un plátano. Y va a decir que estás hambriento metros ahora 20 lol. Si quieres comer más, presiona R. Y ahora si presionas R, puedes comer más. Y luego elige una fresa esta vez. Y la próxima vez puedes elegir otro, Es un coco y así sucesivamente. Entonces, y los medidores de hambre subiendo cada vez que comemos algo. Entonces vamos a hacer este ejemplo y vamos a usar lo que hemos aprendido hasta ahora. Adelante y jalemos hacia arriba el plano de nivel. ¿ De acuerdo? Y con qué queremos empezar es nuestra habitual van de empezar a jugar. Entonces comienza a jugar. Y aquí queremos imprimir un texto. Entonces vamos a imprimir hola amigo. Presiona E para comer un grupo aleatorio. De acuerdo, y ahora tenemos que hacer la tecla E, así que escribir en el teclado tecla E. Por lo que ahora tenemos este evento, y cuando haces clic en E, quieres comer una fruta al azar. En cuanto a la fruta, tenemos que hacer una lista de fruta. Entonces tenemos que hacer una, una enumeración. Y vamos a repasar. Y puedes ver que tengo esto de mi otro video. Por lo que quiero borrarlo por ahora para que puedas ver cómo lo haces. Y puedo hacer clic derecho y hacer planos, enumeración. Y aquí lo puedo llamar frutas E. Está bien, digamos todo. Dejar entrar dentro de esta lista y hacer una nueva ruta para que realmente no importe. Entonces elige lo que quieras. Podemos volver a hacer fresa. Yo sólo voy a elegir la misma comida que tengo. Coco. Y el último fue como pezón. De acuerdo, entonces puedes agregar tantos como quieras. Tenemos estos cuatro por ahora. Cerremos la enumeración y volvamos al Plano de Nivel. Y aquí dentro, cuando presionas E, quieres seleccionar una enumeración aleatoria. Aunque hagamos la variable y la llamemos fruta. Y cambiemos el tipo de variable a nuestra lista de enumeración. Entonces E fruta, así es como lo llamamos,
y lo seleccionamos aquí. Así que arrastra hacia fuera y arrastra hacia fuera la enumeración y sostén todo para que podamos venderlo. Y ahora queremos ponerlo en una C aquí, y vamos a copiar pegarlo cuatro veces. Y cambiemos el, el valor aquí también, todos estos frutos diferentes. Entonces, cuando presionas E, queremos seleccionar una fruta aleatoria por aquí. Entonces de la forma en que lo podemos hacer, en realidad podemos usar nuestras multipuertas. Por lo que utilizas la multipuerta aquí y conectas cuatro pines a ella. Entonces agrega más alfileres que, y sumémoslos aquí. ¿De acuerdo? Y podemos tomar al azar, por lo que elige uno de estos randoms y podemos conectar el botón. Por lo que ahora cuando hacemos clic en E, Va a elegir al azar uno de estos pines. Por lo que va a elegir y poner nuestra variable frutal a una de estas frutas aleatorias. Entonces si procedemos, existe la posibilidad de que elija este alfiler y nuestra fruta se pondrá en coco. De acuerdo, entonces cuando la fruta se pone a un valor específico, queremos comer la fruta. Por lo que queremos hacer un eventos personalizados. Y llamémoslo comer frutas. Y aquí empecemos con la impresión del texto. Entonces vamos a imprimir UV. Te has comido un. En realidad, quiero enseñarte algo más. Hagamos algo diferente aquí en esto, en este tutorial porque quiero enseñarte algo nuevo. Saquemos esta variable frutal. Y podemos usar algo llamado Seleccionar. Esto es muy útil. Entonces qué es un selecto, selecciona una de estas opciones dependiendo de cuál sea tu valor aquí. Entonces si has puesto tu variable a coco, va a hacer lo que sea que lo hayas dicho aquí en coco. Entonces ahora mismo se puede ver todo está gris
porque eso se debe a que estos son comodines. Tienes que hacer clic derecho y hacer clic en Cambiar tipo de pin. Entonces aquí hay que seleccionar una variable. Y por ejemplo, quiero, quiero escribir un texto. Por ejemplo, si comes un coco, dirá: Oh Dios mío te comiste o coco. O si comes un plátano, va a decir que te comiste un plátano. Entonces este es un texto o una cadena que depende de ti. Entonces voy a elegir texto. Y puedes ver aquí todas ellas cambiadas de color. Ahora son texto. De acuerdo, entonces ahora en realidad puedes escribir algo, pero también lo has cambiado a otra cosa. A lo mejor querías los números y luego podrías elegir números, pero vamos a elegir texto, el texto, y quiero mostrarte lo que hace. Así que seleccione. Ahora mismo si hacemos clic en E, elige uno de estos aleatorios, lo va a poner en una fruta al azar. Y si lo pone a piña, por ejemplo, va a decir, Niza. Ayudas a una piña. ¿ De acuerdo? Tan agradable comer una piña. Entonces esto es lo que va a decir. Sabe que su valor es la piña, y por lo tanto se va a seleccionar este valor. Esto es lo que es selecto. Por lo que depende de cuál sea el valor. Se va a seleccionar esto. Entonces va por aquí. Se va a decir joven. Era un plátano o oh Dios mío, una fresa. O el último. Impresionante. Un coco. De acuerdo, entonces dependiendo de qué valor se establezca, se va a seleccionar. Entonces por ejemplo, si es coco, Se va a seleccionar y ver esto, este texto. Entonces esto es lo que es un selecto y podemos imprimirlo a la pantalla. Entonces vamos a engancharlo. Y ahora lo va a imprimir a la pantalla. Y ahora lo que también queremos hacer, también
queremos hacer un medidor hambriento. Entonces va a mostrar que tu emisor de hambre está subiendo. Entonces dependiendo de qué fruta comas, tienes diferentes chicas, por lo que aumenta con diferentes números. Pero hagamos una nueva variable y el coral lo llamemos hambre o plenitud. Eso depende de ti y hagámoslo un entero. De acuerdo, entonces ahora tenemos hambre y podemos usar este hambre y ponerla en valores diferentes. Pero ahora tenemos que usar este
interruptor, encienda enum porque queremos valores diferentes para cada una de estas frutas. Entonces lo que podemos hacer con el enum de encendido aquí, o podemos, solo por el bien de la práctica, podemos usar la secuencia que aprendimos. Entonces secuencia, va a hacer este código. Y después de que termine, este código va a hacer cual en lo suficiente. Y ahora va a encender INO aquí. Entonces va a hacer esto primero. Y luego va a despedir a este tipo por aquí. Y dependiendo de lo que sea, vamos a establecer al hambre dos valores diferentes. Entonces para el plátano, pongámoslo en 20. Y vamos a pegarlo un par de veces. Y cambiemos estos valores por valores diferentes. Algo así. Realmente no importa a qué se los cambies. Esto es sólo práctica. De acuerdo, entonces ahora tenemos este hambre y va a
mostrar a la pantalla cuál es el medidor de hambre. Después de hacer esto, podemos imprimir en esta pantalla. O en realidad podemos hacer el formato SEXO. Eso está mucho mejor aquí. Entonces va a decir que tu medidor de hambre es ahora. Y entonces tenemos un número. Y digamos, bonito. Si quieres volver a comer. Presiona R y mostraré más adelante lo que haremos los son un poco más tarde. Entonces, centrémonos, enfoquémonos en esto por ahora. Entonces ahora tenemos este emisor de hambre y queríamos
aumentar cada vez que comas algo. Y te puedes imaginar si, si lo ponemos a algo como esto, cada vez que pulses E, Va a ponerlo a este número estático y nunca va a aumentar. Entonces necesitamos una nueva variable y llamémosle medidor de hambre. Y este medidor de hambre va a decir este medidor de hambre, pérdida, este hambre. Por lo que ahora tenemos 12 en total. Y luego vamos a fijar este medidor Unger. De acuerdo, entonces ahora tenemos este emisor de hambre que es 0 para empezar, y le agregamos 20. Entonces ahora son 20. Y la próxima vez que presionemos el botón y comamos otra fruta, este valor será de 20. Y digamos que ayudemos a una piña después de eso. Entonces se va a decir, pongámoslo aquí abajo como el espejo del hambre, eso va a decir 20 más 80. Y ahora van a ser 100. Entonces estamos, estamos sumando el, cada vez que presionamos, estamos agregando el hambre al medidor de hambre, que es el valor total. Y aquí va a establecer el nuevo valor. Por lo que necesitamos copiar pegar este par de veces. Y a veces codificar es así. Tienes que copiar pegar. Entonces vamos, vamos a moverlo hacia abajo. Y en realidad puedo hacer esto de una manera más inteligente, pero vamos a mantenerlo bastante simple. No quiero que sea muy confuso. Siempre podemos pasar a cursos más complejos más adelante. Aunque, vamos a copiar, deben poner aquí los cables emisores de hambre también. Y quiero tirarlos hacia abajo y tenemos más espacio. Y añadamos esta madera. Esto fue enchufar todo para que pueda ponerse desordenado rápidamente. Pero hablé de que podríamos hacer un más inteligente de distancia. En realidad podemos hacer esto en una función, pero vamos a mantenerlo simple por ahora y hacerlo así. Pero si quieres verlo en una función, puedo, en realidad no puedo mirar esto. Por lo que quiero que sea una tina viendo rápidamente solo para mostrarte colapsar para funcionar. Esto es lo que aprendimos antes. Podrás colaborar esto a nuestra función. Y se puede llamar a esto agregar hambre o algo así. Probablemente debería llamarse plenitud. Ahí vamos a agregar este número y esto, en lugar de establecerlo aquí, realidad
podemos agregarlo a la entrada aquí. ¿De acuerdo? Entonces, lo que esto hace, esto en realidad agrega una entrada aquí en el Gráfico de Eventos. Por lo que ahora en realidad podemos agregar hambre aquí. Y podemos sumar a los jóvenes, sumar el hambre aquí. Y está pasando por el código, estableciendo el hambre, colocándolo con el medidor de hambre. Y ahora tenemos este medidor de hambre. Entonces, en realidad, hagámoslo realmente. En realidad aprendimos previamente a hacer las funciones de colapso. Y queríamos hacer cosas un poco más avanzadas. Entonces espero que no sea demasiado confuso. Y conectemos todo. Y ahora tienes agregar hambre. Y ahora queremos mostrar este texto. Por lo que ahora queremos mostrar el medidor de hambre, que conectaremos aquí. Y vamos a imprimir esto a la pantalla. Ahora vamos a imprimir este texto y vamos a imprimirlo después de que tuvo, se suma el hambre. Vamos a mover esto un poco hacia abajo. Podemos conectar todo esto a la cadena de impresión. Entonces, en lugar de hacer una cadena de impresión para cada uno de ellos, en realidad se
puede conectar. Entonces, por ejemplo, si elige plátano y vas a elegir plátano, agrega el hambre y luego ve a imprimir la cuerda. Por lo que no se imprimirán todos estos porque recuerden que el flujo va sólo en un sentido. Va por aquí. De acuerdo, entonces ahora imprimimos esto a la pantalla. Voy a hacerlo un poco compacto. De acuerdo, entonces ahora se va a imprimir a la pantalla. Y veamos qué pasa ahora mismo cuando hacemos clic en play. Entonces si compilo y hago clic en Play, voy a decir hola amigo. Y en realidad hagamos, este es el primer bug que tenemos o no un bug, pero el primer error, tal vez necesitamos hacerlo un poco más para poder ver qué está pasando. Al igual que esto. Y vamos a compilar una jugada rápida. Se va a decir hola amigo, presiona E para comer una fruta al azar. Y presionaremos E y no pasa nada. Y ya veremos por qué es eso. Es sólo porque nunca hemos llamado a nuestro evento de comer fruta. Recuerda tenemos que llamar a eventos antes de que funcionen. Entonces por aquí, hemos elegido una fruta, pero nunca vamos a aquí. Entonces llamemos al evento diciendo comer frutas. Y conectemos todo. Y vamos a compilar y volver a hacer clic en Reproducir, presione E. Ahora dice joven que era un plátano, estás hambriento medidor. Sexualmente hazlo un poco más largo aquí. Ahora está funcionando. El código está funcionando ahora mismo. Y quiero mostrarte un bicho más. Juguemos y comamos. Dice Niza, te comes un espejo de piña Yolngu tiene ahora 80. Agradable si quieres volver a comer, presiona R. Pero en realidad como un click E otra vez para comer. No necesito presionar a R. Así que tenemos que arreglar ese error. Y en realidad no es dueño de una estaca, tenemos que añadir algunas cosas más. Por lo que aquí cuando presionas E, Recordar una puerta múltiple te da la opción de ejecutar todos estos bolígrafos. Para que veas si presiono E, puedo presionar F4 veces 1234. Y si hago clic en Icono Más, presiona más. Pero el Watergate te da la opción de,
para jugar todos estos bolígrafos. Pero sólo queremos comer un plátano y queremos, o queremos comer una fruta y queremos presionar R para que vuelva a comer, no
queremos comer todo el tiempo. Entonces hagamos un booleano y llamarlo puede comer, cambiemos el tipo variable a booleano. Bueno, fuera. Y luego di, si puedes comer. Si esto es cierto. De acuerdo, Si puedes comer, si esto es cierto, puedes comer, entonces adelante y haz esto. No obstante, si no puedes comer, entonces no hagas nada. Entonces si puedes comer, puedes seguir adelante. Y así por aquí, cuando comamos algo, cuando hago clic en E y dice comer frutas en realidad van a poner esto en falso. Ahora ya no puedes comer. Y el valor por defecto aquí debería ser cierto porque al principio del juego, puedo comer. Por lo que el valor predeterminado necesita ser verdadero. Y cuando comamos una fruta, va a ser falsa. Entonces si trato de volver a hacer clic en E, no
va a hacer nada porque no puedo comer. Esto va a ser falso. Cuando voy a este evento. Si hago clic en Jugar y actúo como E, Sí, puedo comer, pero si hago clic en E Otra vez, ya no
puedo comer. De acuerdo, Así que hagamos el botón. Bueno, lo último, el botón R si quiero volver a comer. Entonces esto es muy sencillo. Acabamos de poner la lata de comer a verdad y en realidad podemos seguir adelante y volver a comer. Entonces vamos a compilar y hacer clic en Play. Se puede comer. Si hago clic es decir, ya no puedo comer. Si vuelvo a hacer clic en R y E, entonces puedo comerlo. Y puedes ver que puedo presionar R y E una y otra vez. Y después de eso ya no tenemos más fruta. Y es eso que te has comido toda la fruta. No obstante, si quieres restablecerlo, siempre
puedes configurarlo en bucle. O puedes usar un evento personalizado para restablecer y hacerlo de esa manera. Por lo que ahora hemos aprendido de la enumeración. También puedes establecerlo en valores específicos. Usamos la puerta de Maasai, usamos la secuencia. Aprenderás a usar booleanos para que realmente impida el código suceda hasta que se vuelva a configurar. Y también usando este selecto que es algo nuevo y el interruptor de enumeración. Y también cómo colapsar a una función. Y en realidad podemos adjuntar a las variables, a las entradas de función. Por lo que aparece por aquí y en realidad se puede agregar un valor. Pasa por el código, y luego lo agrega al medidor de hambre. Por lo que ahora el hambre y los medidores actualizados y podemos imprimirlo a la pantalla. Espero que esto te haya sido útil y si necesitas alguna ayuda con alguna de ella, por favor no dudes en venir y estar justo en el servidor de Discord o en cualquiera de nuestras redes sociales. Yo estoy dispuesto, más que dispuesto a ayudarte. Entonces espero que te divirtieras y pasemos a la siguiente lección.
41. ¿Qué son las clases de Blueprint: Hola y bienvenidos a esta sección. Entonces ahora en realidad vamos a entrar en las cosas más avanzadas. Y esto va a ser divertido ahora porque esto en realidad es clases de
blueprint son las que van a trabajar con todo el tiempo. Y también es lo primero con lo que vamos a trabajar cuando hagamos nuestro primer videojuego. Entonces estos, esto va a ser divertido. Ahora, hemos aprendido todos los conceptos básicos, todas las enumeraciones, flujos de
ejecución, matrices, eventos, macros de funciones. Hemos pasado por las variables y todos estos fundamentos. Y ahora hablemos de los actores de Blueprint. Entonces para hacer un actor de blueprint, tienes que hacer clic derecho sobre aquí y puedes crearlo a través de aquí, Blueprint, clase Blueprint. Y a quien hacen un vaso. También puedes ir por aquí y planos. Y hasta ahora hemos aprendido sobre la enumeración, la macro biblioteca de blueprint,
la biblioteca de funciones de blueprint. Y ahora vamos a sumergirnos en el plano de las clases. Por lo que cuando hagas click aquí en las gafas de blueprint, puedes ver aquí tienes diferentes cosas entre las que puedes elegir. Por lo que en Unreal Engine, puedes crear diferentes planos y puedes elegir qué tipo de blueprint quieres crear. Y todos estos son esenciales para nosotros en el juego. Por ejemplo, tenemos el modo de juego, tenemos el controlador de jugador, tenemos el personaje, tenemos sobre, y tenemos un actor. Entonces sigamos adelante a las próximas lecciones. Y en las próximas lecciones, estos serán cortos porque vamos a ir más en profundidad con estos cuando creemos nuestro juego. Pero quiero, en las próximas lecciones, explicarte en breve cuáles son cada una de estas.
42. Actor: Entonces, en primer lugar, la Clase de Blueprint más simple es el actor. Y aquí se puede ver que un actor es un objeto que se puede colocar o engendrar en el mundo. Entonces un actor no es algo que controlas. No es un personaje. Y actor es sólo un objeto simple, EU nacido en el mundo. Entonces, por ejemplo, si has capturado el modo de vuelo, vas a capturar la bandera. Flag es un actor, por lo que también podría ser, por ejemplo, una chimenea. Por lo que tienes chimenea. Entonces cualquier tipo de objetos que se puedan colocar en el mundo y no sea actor, no
es algo que controlas. Entonces, por ejemplo, esto también podría ser una mesa en la que coloques las cosas en el juego. Entonces éste es el más simple, y eso es lo que es un actor.
43. Pawar: El siguiente es un Po1 y sobre realmente puedes controlar. Por lo que un pon es un actor que puede ser poseído. Y lo que poseído significa es que en realidad puedes controlarlo con tus teclas, con sus teclados. Por lo que AW, DNS y recibir entrada de un controlador. Y el controlador en realidad es éste de aquí y el controlador de jugador. Entonces lo que pasa
es, en realidad es algo que se puede controlar. Pero digamos que queríamos hacer un juego y en realidad queremos esta esfera por aquí. Nosotros queremos controlarlo. Es nuestro personaje. En realidad podemos convertirlo en un sobre. Y podemos usar nuestro teclado para movernos con esto. Con la esfera. Ahí está en y, no lo
estamos convirtiendo en un personaje es en realidad porque no es una cosa de aspecto de personaje. Entonces podemos imaginar un personaje con dos brazos, dos me gusta. No es así, Es sólo una esfera. Y podemos usar esto como una y vez pueden recibir entradas para que realmente podamos mover esta esfera. Si este miedo fuera actor, no
podríamos usar el teclado para mover esta esfera.
44. CARÁCTER: De acuerdo, entonces el siguiente es un personaje. Y un personaje es un tipo de pon que incluye la capacidad de caminar. Por lo que te puedes imaginar como un personaje con dos brazos, dos piernas que pueden caminar. Y por lo tanto aquí lo convertiríamos en un personaje y no en un estanque. Y aquí te dice que un personaje es un tipo de porno. Entonces en realidad esta es una subclase de esto. Esto en realidad es un, un Po1. Y explicaré más adelante por qué esto es importante. Realmente no importa para ti ahora mismo. Pero sólo recuerda que los personajes tienen la capacidad de caminar. Y cuando tienes personajes, por ejemplo, un antiterrorista o un terrorista en Counter-Strike, haríamos un personaje.
45. Controller de jugador: El siguiente es el controlador del jugador. Y un controlador de flujo es un actor responsable de controlar sobre, utilizado por el jugador. Sepa cuándo tengo este punto aquí. En realidad este controlador de jugador es lo que controla mi porno o mi personaje. Entonces este no es como un mando, como lo tienes para tu Xbox o tu PlayStation. Cada personaje que se mueve tiene un, tienen un controlador adjunto a ellos. Entonces, por ejemplo, si tienes jugador uno y jugador dos, cada uno de estos tiene un mando. Y dentro de esta Clase de Blueprint es donde suelo hacer el movimiento. Entonces utilizo, por ejemplo, si necesitas usar la W para avanzar, normalmente lo
hago dentro de este plano. Entonces cada uno, cada uno de los personajes que se pueden mover, cada uno de los estanques o personajes que se pueden mover. Estos en realidad tienen un controlador de jugador y dentro de este blueprint, se
puede hacer el, el movimiento. Y en realidad también hago la interfaz de usuario dentro de este controlador de jugador. Porque cada jugador tiene que ver la interfaz. Y lo puedes hacer a través del controlador de jugador. Y puedo mostrar una carta sobre cómo podemos hacer esto.
46. en modo de juego: De acuerdo, entonces el último del que quiero hablar es el Modo Juego. Y la base de Demode define el juego que se está jugando, sus reglas, anotación, y otras facetas del tipo de juego. Entonces este es el Modo de Juego. Te lo puedes imaginar si tuvieras un modo de juego dentro de tu juego. Entonces, por ejemplo, capturar la bandera. Tienes que definir cuántas vidas tienes? Tienes que definir cuántos puntos obtienes por capturar la bandera. Tienes que definir cuánto, cuántos minutos tienes cada ronda en este modo de juego y así sucesivamente. Por lo que el modo de juego define las reglas del juego. Y en cuanto a los últimos, realmente no los
cubriremos por ahora. Pero también puedes ver que tenemos muchas más clases y estas no son importantes para ti en este momento. No te preocupes por todo esto. Se puede ver aquí también tenemos juego guardado, así que podemos hacer, podemos guardar el juego y cargar el juego, pero esto es demasiado complejo por ahora. Entonces no te preocupes por todas estas clases. Centrémonos en estos 12345. Y entonces podemos pasar a clases más complejas.
47. ¿Qué son los actores de el parazo?: Hola a todos y bienvenidos a la sección sobre Actores de Blueprint. Entonces, qué actor de plano es, en realidad
se pueden armar varios de estos artículos. Por ejemplo, un cubo. Puedes juntarlo con una luz y en realidad puede mezclar diferentes objetos juntos en un blueprint. Y luego puedes usar ese blueprint se llevó
a cabo alrededor de tu nivel para hacer algún diseño de nivel. Y con los actores de blueprint, también
puedes hacer conductas como, por ejemplo, monedas que tu personaje saqueará y básicamente blueprint son actores estáticos que está alrededor en tu mundo. Entonces sigamos adelante y aprendamos a crear un actor de blueprint.
48. Crear un actor de diseño: De acuerdo, entonces aquí lo he borrado todo para que podamos empezar de fresco. Y vamos a crear nuestro primer actor de plano. Entonces, en primer lugar, quiero crear una nueva carpeta llamada blueprints. Y dentro de esta carpeta puedes hacer clic derecho. Y bajo Planes, puedes encontrar algo llamado clase Brooklyn Blueprint. O lo puedes encontrar aquí arriba, lo cual es mucho más fácil. Así que dar click en clase Blueprint. Y se puede ver aquí que estas diferentes clases de las que hablamos. Y el primero, el más simple es el actor de plano. Entonces sigamos adelante y pinchemos en el actor. Y para los planos, los
vamos a llamar BP en el principio para el plano. Y para este, llamémoslo poste de luz. Por lo que vamos a crear un poste de luz muy simple. Y hagamos doble clic en este actor de blueprint. Y puedes ver aquí tenemos algún tipo de escena que aún no hemos visto. Ahora dentro de esta ventana gráfica, puedes agregar elementos, y por ejemplo, podemos agregar los bugs y demás. Y aquí tenemos un Script de Construcción. Entonces esto es programación, y aquí podemos decirle al actor qué hacer antes de que sea, o qué haces realmente cuando lo engendra de inmediato. Entonces aquí tenemos el gráfico de eventos que vimos antes sería el Plano de Nivel. Entonces esto es genial. Ahora en realidad estamos haciendo networking en el Level Blueprint ya. Ahora estamos trabajando en un actor. Por lo que yo sólo quisiera decirles una diferencia entre estos dos. Entonces el azul, el Plano de Nivel es,
es blueprint o programación para este nivel específico en el que estás. Entonces si hago algo en el Plano de Nivel para este nivel, y luego sigo adelante y hago clic derecho y creo otro nivel. Entonces en realidad este código que escribí en este nivel, blueprint para este nivel específico en realidad no se va a llevar al nuevo nivel. Por lo que hay que tener en cuenta si haces algo en el Level Blueprint, y esto sólo va a ser específico para el nivel actual en el que estás programando. No obstante, si haces una clase de blueprint, ésta en realidad se puede usar en todos tus niveles. Entonces, por ejemplo, aquí tengo una clase de blueprint, y esta, puedes arrastrar hasta el nivel. Digamos que es porque ahora mismo está vacío. No lo hemos hecho, realmente no hemos agregado nada al mirador aquí. Entonces en este momento está vacío, pero puedes arrastrarlo al nivel. Y se puede hacer eso para todos los niveles. Por lo que esta es la ventaja de un blueprint clases. Esto es muy poderoso. Y recuerda, si haces algo en el Level Blueprint, este código será específicamente para ese nivel en el que estás codificando. De acuerdo, entonces volvamos al puerto de vista aquí. Y consiste en este mirador y puede, whoops, lo saqué por error. Por lo que consiste en el mirador y consiste en el guión de construcción con sólo vende al actor qué hacer cuando se engendra. Por lo que esto será despedido instantáneamente cuando se engendra. Y aquí normalmente codificas cosas que quieres asegurarte el actor haya hecho de inmediato antes de que hagas otra cosa. Y por último, el Gráfico de Eventos. Esto es igual que el Level Blueprint donde escribes tu código y todo eso. Y este será este código aquí en este gráfico de eventos será específico para este actor de blueprint en el que actualmente estás trabajando. Entonces sigamos adelante y creamos nuestro poste de luz. Y aquí en el Gráfico de Eventos, se
puede ver aquí a la izquierda tenemos componentes y en realidad vamos a hablar de componentes en otra lección. Pero sigamos adelante y le agreguemos algo. Voy a dar click en el poste de BP o en cualquier lugar aquí y dar click en Agregar. Y vamos a añadir un cubo. Entonces haga clic en este cubo. Puedes ver aquí hemos añadido un cubo así como aquí. Y en realidad podemos cambiar el tamaño de este cubo para que puedas ver o si lo redimensionas. Y en realidad quiero abrir este candado porque no quiero redimensionarlo uniformemente. Y también puedo seguir adelante y usar la herramienta de báscula. Y voy a entrar a la vista de la izquierda sólo para que pueda tomar esto por encima del suelo. Ahora ve a la vista correcta se ve bien. Voy a volver a la perspectiva. De acuerdo, entonces ahora tengo algún tipo de poste de luz y en realidad quiero agregarle una luz. Entonces esto es muy guay. Se pueden combinar cosas en una clase de Blueprint. Por lo que aquí puedes añadir de nuevo y añadir una luz, una luz puntual por ejemplo. Y a este punto se
le miente, se puede revisar aquí. De acuerdo, Así que esto es muy guay. Y si compilo, guardo, lo guardo todo. Y déjame salvar este nivel. Y voy a crear una carpeta nueva, llamarla mapas. En realidad, ya hice eso por mí. Dentro de Mapas, déjame guardar esto y llamarlo llamémoslo Mapa Tutorial otra vez. De acuerdo, déjame cerrar este actor de blueprint y déjame borrar esta nueva carpeta que hice. Entonces aquí, este es el sondeo ligero hecho y esto es muy cool. Ahora se puede ver este actor de plano en realidad tiene el cubo que agregamos y también la luz. Entonces esto es muy guay. Puedes combinar objetos y ponerlos juntos. En lugar de entrar aquí y agregar un cubo, redimensionarlo. Y luego le agregas la luz encima. Permítanme añadir una luz. Digamos que lo hicimos de esa manera. Pero entonces si necesitabas esta diapositiva otra vez por aquí, tenías que ir y crear una nueva forma y así sucesivamente. Esto va a llevar mucho tiempo. Y en realidad también para las clases de blueprint, podemos agregar código a esta clase. Entonces, por ejemplo, si queremos apagar la luz, si el jugador no
está, no está cerca, podemos codificar aquí que queremos apagar la luz. De acuerdo, Entonces podemos agregar comportamiento a las clases de blueprint. Entonces así es como se crea una clase de blueprint. Y en la siguiente lección, Veamos cómo engendramos estas Clases de Plano y cómo destruirlas.
49. Actor Spawn: Hola y bienvenidos. Entonces ahora vamos a hablar de cómo engendrar y destruir a un actor. Entonces esto es muy sencillo. La primera forma de engendrar a un actor si
ya conoces esa ubicación especificada en tu nivel. Por ejemplo, si quieres colocar monedas alrededor o estás haciendo algún diseño de nivel, siempre
puedes arrastrar hacia fuera al actor y colocarlo donde quieras. Al igual que esto. Pero esta es la forma más fácil de engendrar al actor. También puedes simplemente sostener y sostener el Alt mientras te mueves y puedes duplicarlo. Ahora esta es la forma más fácil y déjame seguir adelante y eliminarlos todos. La segunda forma en que puedes hacerlo si no quieres engendrarlo de inmediato cuando comience el juego, en realidad
quieres engendrarlo durante el juego. Puedes seguir adelante y pasemos a los planos de nivel. Y hagamos una jugada de inicio. Y vamos a retrasar esto empiece a jugar haciendo segundos. ¿ De acuerdo? Y ahora tenemos que usar el nodo aquí llamado Bonn actor de clase. Entonces ahora vamos a engendrar a un actor. Y aquí la clase es ésta. Recuerda, esta es una clase de blueprint porque cuando haces clic con el botón derecho y la creas,
Es una clase de blueprint. Este es el actor que creó. Por lo que esta clase de blueprint, lo
podemos encontrar buscando el nombre VP light pole. Ok, y ahora es pedir una transformación. Entonces, ¿dónde quieres engendrar este poste de luz? Y un buen truco quiero mostrarte, por ejemplo, si quieres una ubicación especificada, por ejemplo, si quieres engendrarla aquí específicamente, y quieres saber la ubicación, siempre
puedes crear una forma. Por ejemplo, un cubo. Podemos mover el cubo para allá e intentar ajustarlo. A Gauss. Siempre intenta ver esas ubicaciones y puedes hacer clic derecho y copiar esta ubicación. Y entonces puedes hacerlo y puedes colocarlo en la transformación. Sólo recuerda que esto va desde el punto de pivote. Entonces si tu punto de pivote está aquí abajo
, estará flotando. Entonces hay que derribarlo. Se puede ver el valor z es 0, 1 llegué hasta aquí. Y esto es porque está tomando el valor de esto en ese momento. De acuerdo, entonces déjame volver al Plano de Nivel. Entonces ahora tenemos que especificar ubicación, pero solo quiero engendrarla en medio del nivel, así que son 000, 000. Lo que puedes hacer es romper o una pena, hacer una transformación. Y hacer transformada solo hace la transformación para que realmente puedas insertar esos valores. Lo que puedes hacer también es hacer clic derecho en hacer Split Struct Pin. Y esto dividirá este bolígrafo camión y podrás escribir los valores. Lo que prefiero hacer es promocionarlo a una variable. Por lo que haga clic derecho en variable promotora y lo puede llamar toda Transformación. Puedo tratar de moverlo hacia abajo. Entonces ahora tenemos una transformación de polo y si compilas, podemos ver los valores por defecto. Y a lo mejor quiero que la geolocalización sean 15. Creo que este terreno está elevado un poco, así que no lo haga bajo tierra. Vamos a compilar y guardar. Y aquí está la colisión. Si tienes colisión no puedes. Por ejemplo, podemos elegir intentado ajustar la ubicación, pero siempre divertido si siempre quieres engendrarla. A pesar de que algunos, algo se interpone en el camino. Vamos a hacer clic en Jugar. Y después de tres segundos, esto debería engendrar la encuesta. Por lo que voy a dar clic en play. Después de tres segundos. Es solo uno el sondeo. Entonces así es como engendraste a un actor en el nivel. De acuerdo, entonces ahora que hemos engendrado al actor al nivel, aprendamos a destruir al actor. Entonces ahora cuando volvemos a hacer clic en Jugar, se engendra después de tres segundos, pero en realidad podemos destruir a este actor si queremos destruirlo durante el juego. Y en el caso, por ejemplo, de las monedas, si tu personaje entra en una moneda, la moneda desaparecerá. Y esto es lo que se llama Destruir Actor. En realidad estás destruyendo al actor. La moneda ya no está en el nivel porque ya la mencionaste. Entonces vamos al Planeador de Nivel aquí. Y digamos después de tres segundos otra vez, retrasemos el engendro. Después de tres segundos otra vez, queremos destruir a este actor. Entonces Destruye Actor. Y ahora tenemos que recordar ¿cuál es el objetivo? El objetivo es este poste de luz aquí que engendramos. ¿ De acuerdo? Entonces vamos por aquí. Y lo que puedes hacer aquí. Muy cool es este actor que engendraste. Esto es lo que queremos quitar de nuevo, puedes hacer clic aquí y promocionar esto a una variable y podemos llamarlo poste de luz. De acuerdo, entonces ahora tenemos, ahora nosotros, esta es la primera vez que realmente hacemos una variable de actor. Entonces este es el poste de luz BP. Entonces engendramos, respondemos al polo de luz, y este es en realidad el polo de luz. Por lo que ahora creamos, lo
promovimos a una variable. Entonces en realidad podemos usarlo aquí, porque aquí queremos destruir el poste de luz. Ahora puedes tomar esta variable listada aquí. Ahora va a destruir de nuevo este poste de luz después de desovarlo después de tres segundos. Bueno, vamos a compilar click Jugar y ver qué pasa. Entonces después de tres segundos es responder. Y después de tres segundos debería destruir el poste de luz. Ahora así es como engendras y así es como destruyes a los actores dentro del juego.
50. Componentes de escena: Entonces hablemos de una escena componentes y que ya han creado algunos componentes del pecado. Entonces hagamos doble clic en la clase Blueprint del polo de luz que creamos. Y dentro de aquí en la ventana gráfica, agregamos la diapositiva y agregamos este cubo. Tan total izquierda tenemos algo llamado componentes. Y aquí puedes agregar todos los componentes que quieras. Esta es en realidad la escena y todos los componentes que se agregan a este blueprint hasta ahora, por ejemplo, una esfera. Y quiero mover este miedo alrededor, duplicé la esfera, o en realidad me dejó duplicarla desde aquí. Y puedo moverlo y digamos que está por aquí. Y compuesto Guardar, se puede ver que por aquí, esto en realidad consiste en todos los elementos que puse en escena. Entonces esto es muy guay. Puedes diseñar algunas cosas geniales. Por ejemplo, si estás diseñando una tienda de monedas para tu juego, puedes diseñar la casa. Se puede diseñar el, el letrero de madera. Puedes diseñar la luz a su alrededor o lo que sea en el que estés un afilado consiste. Por lo que tu tienda no consiste en un solo elemento. En realidad puedes simplemente armar elementos y hacer la tienda en su conjunto. Y luego puedes arrastrar esto hasta el nivel y esto es bastante genial. Por lo que estos son los componentes de Blueprint, y estos son componentes que se pueden agregar al nivel. Y siempre tienes una raíz aquí, que es el solo el componente inicial predeterminado, y siempre puedes reemplazar esta ruta arrastrando donde sea que tengas encima de ella. Y ahora esto se convierte en la raíz. Y ver esto está un poco estropeado. Por lo que siempre podemos elegir qué hacer tus raíces de la Clase de Blueprint. ¿De acuerdo? Y ahora realmente no podemos mover esto. Esta es la ruta del plano ahora. Y si quieres moverlo, solo controla Z y deshacemos lo que hicimos. Para que puedas agregar más cosas a tu, agregar más componentes a través de este botón Añadir. Y en realidad se pueden agregar muchas cosas. Por ejemplo, audio, puedes agregar sonido. Se puede añadir una malla esquelética. Todavía no hemos tocado eso. Se pueden agregar cámaras, se pueden
agregar cajas de colisión. Nuestras cajas de gatillo más bien. Y se puede agregar se llamaba efectos visuales y muchas otras cosas. Por lo que puedes construir toda una escena aquí son solo para este elemento. Por ejemplo, otro uso de la misma es que tenía una chimenea, y esta chimenea consta de muchos troncos y los efectos de fuego en el medio. Entonces tuve que construir los troncos por aquí. Y se puede construir el efecto de fuego en el medio. Y después de construirlo, puedes arrastrarlo y ponerlo en escena. Entonces estos son los componentes. Sólo por diversión, siempre puedes hacer clic aquí un anuncio y ver qué pasa. Y el componente de escena es sólo un, un componente vacío aquí. Entonces esta es una vacía. Esto no hará nada,
pero, pero el componente sin, tiene transformación por
lo que se puede unir a otros componentes del fregadero y se puede hacer cosas. Y puedes intentar hacer clic alrededor, clic en diferentes formas, tratar de agregarlo y no pasa nada. Siempre puedes eliminarlo después, derecha, para agregar cajas de colisión, ver qué sucede. Así que juega alrededor, y estos son los mismos componentes. Y hablemos de variables editables y expuestas en desove. Y la siguiente lección.
51. Variable y exponer al balneario: De acuerdo, entonces hablemos de las variables editables y expuestas en desove. Y lo que es una variable editable, en realidad
puedes hacer que la variable sea editable y exponerla aquí. Entonces, por ejemplo, esto es muy útil para los diseñadores. Digamos que sacaste la encuesta de diapositivas. Y
en realidad puedes exponer variables de tal manera que puedas editarlas aquí a la derecha. Entonces digamos por ejemplo, si querías cambiar el color del poste de luz para leer, en lugar de entrar en los planos y cambiar el código y hacerlo rojo, realidad
puedes exponer la variable que lo está controlando. Y puedes cambiar el color aquí a la derecha. Se puede ver esto es muy útil para las personas que no conocen en absoluto los planos. Simplemente pueden seguir adelante aquí en el panel Detalles y cambiar cualquier variable que hayas expuesto. Y tal vez esto sea, esto en realidad también es útil para los programadores. Si tienes algo, quieres cambiarlo aquí y es más conveniente. Entonces sigamos adelante y veamos cómo se hace esto. Hagamos algo a este poste de luz que creamos. Entonces vamos a hacer doble clic en él. Y aquí dentro, Hagamos dos variables. Entonces el primero es booleano, y llamémoslo luces intensas y las diez diapositivas. Entonces, por ejemplo, queremos que la luz sea intensa. Si esto es así, esto se establece en verdadero. Y hagamos otro llamado luces o descripción empujado. Presentemos este poste de luz está en la monedería y hay que leer la descripción y la gente leerá la descripción y la comprará. De acuerdo, Entonces esto es un texto, así que esta es una descripción. Y vamos a compilar. Por lo que ahora tienen estos dos. Y lo que haces es dar click en Instancia editable. Entonces podemos editarlo y tú lo estás, y esto se está exponiendo en desove. Entonces hagamos lo mismo con la variable de texto aquí, y compilemos y guardemos. De hecho, pongámoslo aquí. Y ya puedes ver ahora tienes estos valores. Luz tan intensa, podemos tomar esto,
este fue el booleano y esta es la descripción, por ejemplo, este es el primer polo de luz, luz en el mundo. En el mundo. ¿ De acuerdo? Y lo genial al respecto, puedes cambiarlo de forma independiente. Por lo que ahora hemos agregado una descripción para esto. Y en realidad puedes hacer algo más por este. ¿ De acuerdo? Ahora esto es muy cool. Puedes exponer variables en desove y en realidad puedes editarlas aquí en lugar de entrar aquí y hacer algo con el código. De acuerdo, así que quería mostrarles algunas cosas que podemos hacer con esto. Entonces hagamos el Begin Play. Y hagámoslo, tomemos esta luz intensa. Y vamos a crear una sucursal. Y si esta luz intensa es cierta, tomemos nuestra luz puntual, que es el componente aquí, que tenemos. Y estos componentes estarán aquí abajo como variables. Se puede ver que tenemos componentes. Entonces esta es la luz puntual. Y podemos hacer intensidad. Y luego ves algo llamado intensidad de conjunto. Por lo que ahora queremos establecer la intensidad. Vamos a ponerlo en 50, y también cambiemos el color. Esto será mucho más visual. Entonces vamos a escribir color y ves algo llamado set light color. Tomemos esto aquí arriba. Y cambiemos el color a algo que podamos ver. Por ejemplo, así. En realidad es hacerlo muy horriblemente así como esto. Y ahora cambiamos el color y la intensidad. Y si nada, si esto es falso, podemos simplemente establecer la intensidad a una. De acuerdo, entonces ahora necesitamos un blanco para esto. Así que arrastra hacia fuera la luz puntual y conectado a esta intensidad Compilar y Guardar. Por lo que ahora esta luz intensa está marcada. Vamos a fijar la intensidad a 50 en lugar de una. Y vamos a cambiar el color. Entonces veamos cómo este lugar, minimicemos esto y voy a borrar uno de esos. ¿ De acuerdo? Y luego el Plano de Nivel. Recuerda esto es lo que hicimos antes en las lecciones anteriores, retrasamos con tres segundos. Nos engendró un actor responder al poste de luz y la mitad del mapa. Y luego lo retrasamos y lo destruimos. Déjenme realmente quitar esto destruido ahora para que podamos verlo. Y como reemplazar este por aquí. Y el otro fue engendrado, engendrado en medio. Y déjame ir y reducir la fuente de luz porque queremos ver las luces. Voy a escribir 0 aquí. Y otra cosa que es molesto, nuestra exposición está siendo afectada. Entonces vamos a ir a crear efectos visuales, hacer un volumen post-proceso. Y aquí bajo exposición. Y ahora tenemos este volumen post-proceso aquí. Y la subexposición. Toma el brillo mínimo y el brillo máximo y ponlos a uno. Y también recuerda, esto no hace nada si no vas al fondo y haces la extensión infinita, por lo que afecta todo el mapa. De acuerdo, Entonces ahora la exposición no se está ajustando cuando nos movemos. Guardemos todo y hagamos clic en Jugar. Ahora puedes ver que estos lucen igual. Volvamos atrás. Si hacemos clic en este y subimos y hacemos clic en la luz intensa, ahora cambiará de color y tendrá una luz intensa. Vamos a hacer clic de nuevo en Reproducir. Puedo ver aquí tiene luces intensas. Tiene que ser más intenso porque realmente no lo podemos ver, pero se puede ver el color es rojo mientras que el otro no es rojo. Y esto se debe a que el que engendró no tiene la voluntad volver atrás, no tiene la luz intensa marcada porque por defecto no se marca. Entonces por defecto es falso. Entonces esos son los que responden es como la intensidad de uno y el color es por defecto. En tanto que el otro. Tenemos tictac tiene el color rojo y tiene la luz intensa. Entonces así es como engendras variables o variables
expuestas para engendrar aquí en el panel Detalles. Y muy útil de nuevo para artista que realmente no conoce ningún Blueprint. Y tú quieres poner aquí las variables para ellos. Y lo último que solo quiero mostrarte aquí, puedes ver que está bajo defecto actualmente. Se puede cambiar esto yendo dentro de la variable. Y esto con respecto a la categoría es por defecto. Puedes cambiarlo por otra cosa. Por ejemplo, puedo hacer poste de luz aquí. Y lo mismo con la descripción, puedes llamarlo poste de luz, y estarán bajo la misma sección aquí. Esto también es bueno para organizar tu código. Y si compilas, también puedes ver que ahora están bajo el rumbo del poste de luz. Muy bien, Pasemos a la siguiente lección.
52. Eventos de superposición: Está bien, entonces hablemos de eventos de superposición y de qué podemos usar con los eventos de superposición. Te puedes imaginar que tu personaje se está encontrando con
un, un objeto que puedes saquear y llevar en tu mochila. Este artículo será destruido y saqueado. Y para que esto suceda, tienes que tener algún tipo de evento de superposición y detectar que tu jugador ha aludido a la moneda o lo que sea que tengas. De acuerdo, así que hagamos esto con este poste de luz que tenemos, y hagamos doble clic en él. Y sobre ello en los componentes podemos agregar algo llamado un gatillo bucks. Entonces haz click aquí y bajemos. Y puedes ver aquí tenemos Colisión de Caja, colisión cápsula o lesión esférica. Entonces con esto podemos hacer algún tipo de solapamiento de eventos. Por ahora usemos esta colisión de caja. Esto será perfecto para nosotros, ¿de acuerdo? Y para esto, normalmente llamo, lo
llamo dólares gatillo, pero realmente no importa cómo lo llames. También puede llamarlo una caja de colisión o colisión de insectos. Y eliminemos esto por ahora. De acuerdo, Vamos a compilar y guardar. Y coloquemos nuestro poste de luz aquí en el medio. Abramos la luz. Lo rechazé en la última lección. Entonces déjame ponerlo hasta tres otra vez, igual que lo teníamos antes. Y ahora pasemos al mirador. Haga clic en los bugs de gatillo que hicimos. Y ahora puedes reescalarlo ya sea aquí o podemos reescalarlo aquí en la extensión de bichos. De acuerdo, Entonces por ejemplo, puedo Control Z y se puede ver lo que sucede aquí en la extensión de caja. También puedes redimensionarlo y realmente no importa. Pero cuando haces el juego, por supuesto tiene que ser específico. Al igual que tiene que ser preciso. Pero por ahora esto está bien. Digamos que esto es muy preciso y Componer y Guardar. Y ahora tenemos una caja de colisión y podemos hacer algunas cosas con ella. Bueno, pasemos a la Gráfica de Eventos. Y aquí, en lugar de hacer el juego de inicio, queremos el, los eventos de colisión o hacer click en esto. O en realidad no tienes que hacer click en él, pero puedes encontrar los eventos más rápido. Se puede ver aquí en evento para un gatillo bugs y colisión. Y se puede hacer la adición en componente, comenzar la superposición. O la otra cosa que puedes hacer, hacer clic en el cuadro Trigger, bajando a la parte inferior, puedes encontrar todos estos diferentes eventos. Si hago esto un poco más grande, puedes ver aquí algo llamado en componente, hit on component begin overlap. Esto es lo que vamos a usar, y componente y superposición y así sucesivamente. Entonces en lugar de entrar aquí haciendo un nuevo evento, esto es mucho más rápido. Y solo tienes que hacer click en la caja de gatillo o en la Colisión de Box que hiciste. Bajen hasta el fondo y golpeen el inicio de un laboratorio. Está bien. Y antes de que hagamos algo más con la superposición aquí, vamos a repasar y crear un cubo que se pueda mover y luego golpear esta caja de colisión. Y cuando golpea este bichos de colisión, podemos hacer este código que se disparará cuando algo haya golpeado la caja de colisión. Oh, podemos alejar esto. Este es el volumen post-proceso. No te preocupes por esto. Este es el componente que tenemos y también estamos podemos ver la caja Trigger a su alrededor. Entonces sigamos adelante y creemos un nuevo bugs. Así que adelante y haz clic en Crear formas, un cubo. Vamos a moverlo por aquí. Y entonces lo que queremos hacer es igual que antes de querer establecer la ubicación de la caja cada vez que presionamos R. Así que pasemos al Plano de Nivel. Y dentro de aquí, Usemos el teclado para mover nuestro tú. Y recuerda que tenemos que poner este cubo
en movible para que funcione o de lo contrario no se moverá en el juego. Volvamos al Plan de Nivel. Y cada vez que
presionamos R, queremos mover el cubo por 20 en el eje x. Y la forma en que sabes en qué eje quieres moverlo como porque queremos movernos de esta manera y golpear esta bombilla, poste de luz. Y este es el punto de pivote rojo aquí. Y el rojo significa el eje x. Aquí se puede ver la x se lee el por qué es verde y la z es azul. Entonces queremos restar o ir en el menos x. Se puede ver aquí, el eje x va al menos k
Entonces esta es la dirección que queremos movernos . Se abrió frontera azul Level Blueprints. Haga clic en el cubo, haga clic aquí y haga una referencia a este cubo. Y quieres llegar a la ubicación del actor. Queremos la ubicación actual de la caja. Y con esta ubicación, vamos a romper el vector. Nosotros sólo queremos afectar el eje x. Entonces con esto, queremos restar 180 cada vez que golpeamos la tecla R. Y luego volvamos a hacer el vector. Whoops, haz un vector. Y conectemos la y y la z Así que ahora tenemos el vector de nuevo. Y hagamos set actor, set actor ubicación para este cubo. De acuerdo, entonces ahora podemos establecer la ubicación real y podemos enchufar este nuevo inicio de sesión de valor vectorial, conectar el archae aquí. ¿ De acuerdo? Entonces esto es lo que sucederá cuando presionemos nuestro, cada vez que presione R, vamos a obtener la ubicación actual del cubo. Vamos a restar 20 en el eje x, por
lo que se mueve en 20. Y esta es la nueva ubicación que vamos a establecer para ello. De acuerdo, Así que aquí una cosa genial. Puedes hacerlo de esta manera para el cubo en los objetivos o puedes conectar lo mismo por aquí. Y puedes crear un nodo que depende de ti. Lo que sea que pienses es mayormente limpio. Normalmente uso lo mismo. Si se ve limpio, si no, si se ve desordenado, sólo
voy a hacer nuestro, sólo hacer una nueva referencia aquí y conectado en su lugar, esto es justo lo mismo. De acuerdo, vamos a usarla de esa manera. Entonces vamos a compilar click Jugar y ver qué pasa si hacemos clic en nuestro trabajo. Cada vez que haga clic, se va a mover. ¿ De acuerdo? Por lo que ahora necesitamos que funcione. Entonces cuando golpee esta colisión, cuando esta caja golpee a esta caja de colisión va a hacer algo. Y recuerda, tenemos que hacer eventos de superposición. Por lo que da click en esta casilla y recuerda que necesitamos tomar dentro de la colisión, generar eventos de superposición de lo contrario no generará nada. Entonces si esto golpea esto sin la colisión de un evento en vivo golpeado aquí, no pasará nada. Recuerda, ticket, hazlo realidad, genera sobre eventos en vivo. Vamos a retroceder. Guardémoslo todo. Y volvamos al poste de luz aquí. Entonces simplemente lo que queremos hacer cuando empecemos superposición, Sólo imprimamos una cuerda y
veamos la autodestrucción. Entonces se va a destruir a sí mismo. Y vamos a retrasarlo por dos segundos. Y destruyamos al actor. De acuerdo, entonces vamos a destruir al actor. ¿ Y qué actor queremos destruir? En realidad puedes simplemente dejar que sea así, porque yo mismo, el objetivo es uno mismo. ¿ Y qué significa yo? Self es justo este actor en el que estamos actualmente. Y se puede ver aquí estamos dentro de luz BP, poste de luz. Y esto es lo que queremos destruir. Por lo que realmente no necesitas un objetivo aquí porque es uno mismo. ¿ Este objetivo es el poste de luz que estamos destruyendo? Todo esto es genial. Y vamos a repasar y revisar el alcance. Entonces vamos a compilar, guardar y hacer clic en Reproducir. Y vamos a hacer clic en nuestro movimiento dentro de esta caja. Y cuando uno entre dentro de la caja de colisión va a decir autodestrucción. Y después de dos segundos se va a destruir a sí mismo. Entonces así es como se hace superponen los eventos. Y esto es bastante genial para cuando estás cargando artículos, tienes que destruir el artículo después de haberlo cargado. Entonces ya no está apareciendo en el nivel y así sucesivamente. Pasemos a la siguiente lección y te mostraré un nodo llamado actor tiene etiqueta.
53. Actor tiene etiqueta: De acuerdo, entonces hablemos de que el actor tiene nodo etiquetado. Volvamos al poste de luz. Y aquí realmente podemos elegir qué tipo de actor se va a solapar con nuestro poste de luz. Imagina que tienes enemigos en tu nivel. Digamos que tienes a estos diferentes enemigos en tu nivel. Y estos enemigos también andan por ahí. Y a veces golpean el artículo que quieres saquear. Por ejemplo, es un arma en el suelo o una moneda o lo que sea. Y cuando estos enemigos tenían la moneda, en realidad se superponen con esta caja Trigger y desencadenará este evento. Pero esto no es lo que queremos hacer. Solo queremos que el jugador golpee esta caja Trigger. No queremos, no queremos que la moneda desaparezca cuando el enemigo golpee la moneda. ¿ De acuerdo? Entonces aquí es donde podemos usar actor tiene etiqueta. Entonces en el otro actor, este es el actor que, eso se está superponiendo aquí el componente. Este es el jugador. Aquí podemos escribir actor tiene etiqueta. Y se puede ver aquí una función llamada actor ha etiquetado. Y aquí podemos escribir una etiqueta, por ejemplo, podemos llamarla jugador. ¿ De acuerdo? Y esta etiqueta en realidad se pone dentro de estos actores. Por lo que en este cuadro, puede pasar a los detalles de búsqueda. Lo puedes encontrar aquí abajo. Pero en lugar de encontrar X, también
puedes simplemente escribir etiqueta. Y puedes ver aquí tenemos algo llamado etiqueta de actor. Y puedes hacer click en plus y en realidad puedes añadir una etiqueta a este actor. Entonces, por ejemplo, puedes llamarlo jugador. Entonces ahora este actor en realidad tiene el reproductor de cintas. Y si hay otro, eso, significa andar por ahí y no tienen esta etiqueta. Esto no se va a despedir. Porque ahora vamos a decir, si el actor tiene el tag player, si esto es cierto, entonces adelante y autodestruye. Pero vamos a compilar y hacer clic en Guardar. Y vamos a presionar nuestra caminata hacia esto. Se va a decir autodestrucción y se va a resolver la paja. No obstante, si la etiqueta no era jugador, solo
llamémosla enemiga, por ejemplo. Y luego haz clic en Jugar. Voy a dar click son. Y cuando golpea, No va a hacer nada porque la etiqueta no es jugador. Ahora esto es muy cool. En realidad se puede controlar lo que desencadena esta caja o desencadena este evento. Entonces si el, si el actor tiene otra etiqueta, si no es Claire, por ejemplo, y tú eliges lo que quieras llamar a la etiqueta. Y por lo general esto se usa para jugadores. Cuando el jugador golpee este artículo, va a hacer este tipo de código. Si el enemigo lo golpea, el enemigo que no tiene el tag player, no pasará nada. Por lo que esto es muy útil para usar en casos como este.
54. Consigue a todos los actores: De acuerdo, entonces antes de terminar esta sección, hablemos de la Get all actors of class. Entonces pasemos al plano de nivel y hagamos una jugada de inicio. Y aquí podemos arrastrar y hacer se pone a todos los actores. Y se puede ver aquí tenemos diferentes funciones. Tenemos conseguir todos los actores de clase. Tenemos el con etiqueta, tenemos balón. Consigue a todos los actores con interfaz, consigue a todos los actores con etiqueta y la etiqueta. Recuerda, por ejemplo, tenemos la etiqueta llamada jugador. Y va a sacar a todos los actores dentro de este nivel con la etiqueta de jugador. Entonces esto es muy cool y lo pondrá en una matriz. Recuerda cuando tenemos este cuadrado, esto significa que se trata de una matriz. Entonces ahora tenemos todos estos actores detectarían jugador, digamos, creo que éste todavía tiene, Vamos a probar capa aquí. Y si teníamos múltiples y todos ellos tiene detector jugador, se va a poner todas estas tres cajas en esta matriz. Y de nuevo, recuerda que podemos simplemente acceder a las cosas con solo escribirlo aquí, tenemos que usar las funciones de matriz porque esta es una matriz ahora. Y se pueden encontrar las funciones de array bajo las utilidades y array. Y se puede agregar a esta matriz, también se
puede encontrar el elemento, se
puede obtener el elemento y se puede sentir la longitud de esta matriz y así sucesivamente. De acuerdo, entonces para esto, vamos a conseguir a todos los actores de clase igual que normalmente. Y hagamos el poste de luz. Entonces elegir el poste de luz, A veces mi carta de ojo no está funcionando y esto se está poniendo molesto. De acuerdo, entonces ahora tenemos el poste de luz y va a conseguir todos los postes de luz en el nivel. Entonces, coloquemos cuatro de ellos, por ejemplo. Al igual que esto. Y eliminemos estos dos por ahora, cuatro de ellos. Y en el Plano de Nivel, Vamos a hacer se pone. Entonces ahora vamos a conseguir uno de los postes de luz. Y el que estamos recibiendo es el número 0. Entonces el primero. Y con esto, ahora podemos realmente, ahora que hemos conseguido declara el poste de luz, en realidad
podemos acceder a los componentes dentro de este plano. Porque ahora estamos dentro de este valor de retorno es el polo de luz. Y en realidad se puede acceder, por ejemplo, a la luz puntual. Entonces si vamos por aquí y escribimos luces puntuales, y las variables siempre están en la parte inferior. Entonces si vamos al fondo y podemos hacer y conseguir luz puntual. Porque ahora este es en realidad el poste de luz que hemos atravesado por aquí. Y siempre podemos hacer establecer un color ligero y hacer esto y cambiar el color a, por ejemplo, rojo. Y siempre se puede hacer, hacerlo muy molesto. Entonces podemos ver que es así. Y recuerda conectarlo a la función aquí. Entonces ahora tenemos el get todos los actores de clase. Estamos obteniendo el poste de luz de la matriz. Y ahora estamos accediendo a la luz puntual. Y con eso, estamos ajustando el color a rojo, el Compilar y Guardar y golpear play. Y se puede ver aquí en el nivel, tenemos la primera luz y la hemos cambiado a un color rojo, mientras que todos los demás tienen el valor predeterminado, el color predeterminado. Pero también podemos hacer por diversión para cambiar el color al azar entre estas cuatro luces. En realidad podemos, por ejemplo, simplemente ir aquí. Y en lugar de simplemente llamar a la luz número 0, podemos hacer al azar. Entonces escribe al azar. Y se puede hacer entero aleatorio. Entonces el máximo, hay que especificar cuál es la cantidad máxima de luces que hay. Y en realidad podemos arrastrar fuera de esta matriz y hacer último índice. Por lo que este es el último índice de esta matriz. Entonces si ponemos más luces aquí, va a notar, va a saber que el último índice será este número. Entonces no tenemos que entrar aquí y hacer cuatro luces. Y si agregamos cinco luces más, tenemos que ir y decir nueve luces y así sucesivamente. Esto calculará automáticamente porque esto siempre está consiguiendo el último índice de esta cantidad de actores que no hemos nivelado. Tan conectado. Ahora tenemos, Hagamos realmente un poco mejor mirar eso. Estamos recibiendo el, el último índice. Estamos obteniendo un entero aleatorio de ese último índice y lo estamos poniendo en el get. Entonces ahora estamos recibiendo una luz aleatoria. Estamos obteniendo una luz puntual aleatoria de esto y estamos ajustando el color. Entonces si le pegamos a Play, me voy por aquí. Si golpeamos el juego. Ahora bien, este color, déjame ver cuál si lo puedo ver, este color aquí es leído por condado. Vuelve a tocar de nuevo. Ahora este color es R. Esta diapositiva es correcta, por lo que va a cambiar de color de unas luces aleatorias. Ahora éste es de color rojo. Y ahora éste tiene razón. Pero enviando unas luces aleatorias al color rojo. Entonces así es como puedes usar consigue que todos los actores tengan clase, se pone a todos los actores dentro del nivel óseo. Y se puede especificar qué tipo de precisión es. Pudo haber sido. Todo lo demás. En realidad no tiene que ser este poste de luz. Imagínese si tuviéramos más clases de blueprint, podríamos haber llamado a todas estas otras clases.
55. ¿Qué es la comunicación del plano?: Bienvenido a esta sección sobre Estilo de comunicación Blueprint. Cuál es la comunicación de Blueprint es cuando dos planos diferentes se comunican entre sí. Y lo que eso significa, por ejemplo, si creamos otro blueprint aquí, otra Clase de Blueprint, en realidad podemos llamar eventos de esta otra Clase de Blueprint. Y luego uno nuevo que creamos. Nos comunicamos entre estos dos planos diferentes. Y este es un concepto muy importante porque imagina que tienes diferentes clases de blueprint. Tienes una tienda de monedas, tienes una salería, y tienes a tu personaje principal, y necesitas acceder a información diferente entre estos diferentes planos. Y así tienes que comunicarte entre estos planos. Por ejemplo, en esta clase de blueprint por aquí, tienes que usar un evento que ha terminado en la otra clase de Blueprint. Y así hay que usar la comunicación. Los principiantes suelen pensar que este es el tema más difícil de todos ellos. Uno, aprendiendo planos y trataré de explicarlo lo más claro y mejor que pueda. Y además, si no lo entiendes demasiado bien, intenta volver a ver el video. Y también intentaremos crear nuestro juego después de la sección. Y al crear nuestro juego, también
usaremos la comunicación Blueprint, pero vamos a dar un paso a la vez. Y en la siguiente lección, aprendamos sobre el casting.
56. Casting: Hola y bienvenidos a la primera lección sobre comunicación de Blueprint. Y en este vamos a hablar de casting. Por lo que ahora estamos tratando de comunicarnos entre dos planos diferentes. Entonces, en primer lugar, vamos a crear dos clases de blueprint diferentes para que podamos comunicarnos. Y para esta primera, vamos a crear un actor de plano. Y llamémoslo barril BP y haga doble clic en él. Por lo que este será un simple Beryl aquí en los componentes. Añadamos un cilindro y movámoslo por encima del suelo para que no esté debajo del suelo y podamos escalarlo ligeramente. Por lo que parece un barril. De acuerdo, así que esto está bien por ahora. Realmente no vamos a diseñar mucho. Yo quiero enfocarme en la programación, así que esto se ve bien, ¿de acuerdo? Y lo siguiente que queremos hacer es otra Clase de Blueprint. Y hagamos un modo de juego. Entonces recuerda de nuevo, el modo es donde se definen las reglas del juego. Voy a dar clic en el modo de juego y vamos a llamarlo g, m Esto es lo que normalmente llamo modos de juego, GM y desde el principio. Y normalmente los llamo el tipo de modo de juego. Por ejemplo, Capturar la Bandera si fue capturado un vuelo. Pero aquí realmente no tenemos modo de juego o realmente no tenemos un juego. Entonces sólo voy a llamarlo Demode. Guardémoslo todo. Y dentro de este modo de juego, no
vamos a agregar nada aquí. Vamos a ir dentro de la gráfica de eventos. Y dentro de este modo de juego. Hagámoslo, eliminemos estos y hagamos un evento personalizado. Por lo que queremos engendrar este barril. Entonces hagámoslo un evento personalizado llamado barril de desove. Y simplemente queremos engendrar actor de clase, lo que ya hicimos en una lección anterior. Y queremos buscar barril BP. Entonces ahora vamos a engendrar este barril, y lo vamos a engendrar en medio del mapa. Por lo que puedes decir, puedes promocionar esto a una variable o puedes ir adelante y arrastrar y derecha hacer transformada. Y sólo podemos hacerlos hacer transformar por ahora. Y yo sólo voy a escribir 15 en el eje z, así que no está debajo del suelo. Y x e y es 0, así que está en medio del mapa. De acuerdo, Entonces esto es muy sencillo. Nosotros sólo vamos a engendrar el barril. Esta es la lógica para ello. Y recuerda que hay que llamar a este evento en otro lugar. En realidad no va a funcionar. Porque cuando hacemos clic en Jugar ahora, en realidad no pasa nada. Y eso es porque nunca hemos llamado a este barril de desove. Ok. Y ahora esto está en el modo de juego. Pasemos al Plano de Nivel. Y dentro de aquí, hagamos una jugada de inicio. Y lo que queremos hacer, en realidad sólo queremos acceder a este modo de juego para que podamos engendrar o así podemos hacer esto se llaman este evento y engendrar nuestro barril para dentro de él. Empieza a jugar,
digamos, hagamos imprimir texto o imprimir cadena y digamos desovar Viral ahora, a menos que lo retrasemos con tres segundos. Ahora, queremos llamar a este evento para engendrar este barril. Y cómo se accede a este evento desde aquí y allá, y los planos de nivel. Y la forma en que lo haces es con casting. Entonces esto es lo que estamos tratando de hacer y cómo estamos tratando de
comunicarnos con esta clase de blueprint,
la clase de Modo de Juego que hicimos. Entonces para hacer esto, hay
que, hay que ver cuál es la clase general de esto. Esto está por aquí en la clase de padres y en la parte superior derecha. Esta es la base del Modo de Juego. Entonces esta es la clase base. Y aquí podemos escribir gets modo de juego. Entonces ahora tengo esta función y ahora estamos consiguiendo el modo general de juego. Este no es este modo de juego que hicimos. No es este modo de juego. Este modo de juego que tenemos aquí es sólo el modo de juego general. Tenemos que lanzar a este Modo de Juego Personalizado que hicimos. Porque en este momento este no es el Modo de Juego Personalizado. Entonces lo que tendremos que hacer es decir elenco también. Y se puede ver que tenemos este modo de juego GM, y este es nuestro modo de juego. Ahora recuerda que tenemos que tener una referencia de objeto. No podemos, no podemos simplemente decir borrar esto y decir elenco al modo de juego GM. Y aquí está, y Componer y Guardar. Y ahora va a decir error. Aquí no tenemos un objeto. ¿ Cuál es el objeto? Y el objeto es la clase padre a la que se refiere. Entonces en este caso, esta es una clase de modo de juego. Y tenemos que decir get Game Mode. Y entonces tendremos que decir ¿qué modo de juego quieres conseguir? Queremos obtener nuestro Modo de Juego Personalizado, que se llama modo de juego GM. Entonces vamos a compilar y guardar. Y ahora ya no está diciendo un error. Y ahora tenemos el Modo de Juego y hemos causado al Modo de Juego Personalizado que hicimos. Aquí abajo podemos realmente ahora acceder a cualquier cosa que esté dentro de este modo de juego que hicimos. De acuerdo, Entonces ahora si tuviéramos diferentes variables, podríamos acceder a ellas. En este caso, queremos acceder a este evento personalizado. Por lo que este se llama barril de desove. Por lo que aquí como modo de juego GM, queremos acceder a estos forman un barril. Y ahora vamos a llamar a este barril de desove y se va a engendrar. Está bien. Pero ahora no lo es, no va a engendrar porque ahora puedes ver aquí si hago clic en Jugar y miro el mapa y no va a engendrar. Y esto se debe a que el mapa del que estamos dentro está usando actualmente el, el modo de juego normal. Entonces tenemos que ir a la configuración del Mundo aquí a la derecha. Y dentro de esta configuración de pared tenemos algo llamado Anulación del Modo de Juego. Y esto es lo que queremos cambiar porque realmente estamos queremos usar nuestro modo de juego GM. No queremos usar el,
el general, que en realidad es éste que tenemos. Y queremos usar nuestra personalizada. Y esto también es lo que vamos a hacer cuando creemos nuestro juego. Tenemos que cambiar el modo de juego. Por lo que cambiando la anulación gamma, tenemos que cambiarla a nuestro propio modo de juego. Y eso es todo. Simplemente puedes hacer clic en Jugar. Y se puede ver aquí dice barril desove ahora y después de tres segundos, así que dos segundos, así que lo que agregamos, engendra el barril. Entonces esto es muy guay. Realmente no hemos usado un, no
hemos usado un actor engendrado de clase aquí. Acabamos de referirnos al Modo Juego. Y dentro de este modo de juego, tenemos este evento personalizado, que tiene la lógica para engendrar el barril. Entonces así es como usas el casting. Y también imagina si hacemos clic aquí, hicimos una clase de blueprint y realmente hicimos un personaje, por ejemplo. El camino, por ejemplo, si tuvieras un evento personalizado dentro de aquí y quieres acceder a ellos, Digamos que quieres acceder a ellos aquí. Tienes que decir en lugar de decir buen modo de juego, porque en este momento ya no es el modo de juego. La clase padre es carácter. Entonces lo que querías decir es que consigue el carácter de jugador. Y a partir de esto se puede lanzar también. Y ahora mismo este es uno se llama nuevos planos. Entonces este es el único nuevo plano y así es como tu costo a diferentes planos. Y digamos que hice una variable dentro de aquí llamada hola y Compilar y Guardar. Entonces ahora dentro de esto, cuando tengo, cuando he hecho referencia a este nuevo plano, realidad
puedo escribir hola y puedo ver este booleano, y así es como usas o como te refieres a diferentes planos. Entonces así es como te comunicas entre planos y accede a sus eventos personalizados y accede a sus variables. Espero que esto no fuera demasiado difícil y si estás confundido sobre algo de ello, por favor escríbeme en la discusión, derecho a mí en privado o escribe en la discordia comunitaria, siempre
estoy dispuesto a ayudarte y si tú necesitan una mejor explicación sobre algo, por favor, correcto. Para que pueda mejorar el, los videos que hago. Y con eso, pasemos al siguiente método de comunicación. Y este se llama Interfaces de Blueprint. Y este es en realidad el más difícil para los principiantes. Y vamos a dar un paso a la vez. Vamos a repasar y aprender sobre las Interfaces de Blueprint.
57. Interfaz de plano: De acuerdo, entonces ahora hablemos de las Interfaces de Blueprint. Y esto es lo que uso principalmente cuando programé mis juegos. Y no hay, es, es que el casting cuando sí cuesta a otros planos, esto en realidad está creando una referencia dura. Y cuando se crean demasiadas referencias ocultan, por ejemplo, si se corta este Blueprint proyecta a este blueprint, que de nuevo cuesta a los otros blueprints. Y sigues lanzando y lanzando y lanzando. Al final, va a afectar el rendimiento porque esto es difícil referenciar y vas a bajar la carga de todos estos costos antes de hacer lo que quieres hacer. Para ello. Además, cuando usas Blueprint Interfaces, es mucho más limpio en tu código. Entonces no solo son las referencias de altura, sino que tu código está tan limpio. Entonces te recomiendo ¿aprendes esto justo desde el principio antes de programar algo? Porque esto es tan importante para que aprendas. Y sigamos adelante y veamos qué son las Interfaces de Blueprint. Habrá, antes de crear una,
crear una Interfaz de Blueprint, Vamos a seguir adelante y crear una clase de blueprint. Hagamos el barril que teníamos antes, lo que se llama barril BP. Y déjame seguir adelante y crear este componente y cilindro. Y voy a crear el barril que teníamos antes. De acuerdo, entonces ahora tengo este barril. Y de nuevo, pasemos al plano de nivel de plano. Y también abramos este barril. Y lo que quiero hacer es aquí sólo se puede decir en la jugada inicial, puede imprimir una cuerda y decir, he engendrado. Y esto dura diez segundos. Y lo que queremos hacer dentro del Plano de Nivel aquí, en realidad
queremos engendrar este barril, acuerdo, y entonces necesitamos alguna lógica de desove. Así que sigamos adelante y creemos de nuevo el modo de juego, haga clic con el botón derecho en clase Blueprint y creemos aquí un modo de juego. Y llamemos a una demo de GM. Vamos al interior de este modo de juego. Y al igual que antes, vamos a crear un eventos personalizados. Y este se va a llamar barril de desove. Y vamos a seguir adelante y hacer el actor engendrado de clase que es el barril y puede transformarse. Y aquí vamos a escribir 15, así que está por encima del suelo. Pero ahora tenemos esta lógica de unión para el barril. Ahora necesitamos llamar a este evento para que funcione. Por lo que vamos a volver al Plano de Nivel y queremos llamarlo aquí. Entonces en el empezar a jugar, cuando empecemos a jugar el juego, estamos ,
vamos, vamos a retrasarlo dos segundos o tres segundos para que tengamos oportunidad de verlo. Y llamemos a este evento. Así que recuerda antes cuando teníamos que acceder a él, escribimos el modo de juego delta. Después escribimos causado a imagen GM. Esto es lo que hicimos antes. Esto es, esto estaba lanzando y aquí podríamos decir engendrar viral. Pero ahora esto no es lo que queremos. Estamos tratando de no hacer referencia dura por ahora. En realidad nunca usé casting a menos que me tenga que gustar, hay algunas situaciones que no quieres ir a la molestia y hacer una Interfaz de Blueprint si solo vas a costar una vez, eso está bien, no lo haces no es porque tú no se les permite usar casting. Sólo ten cuidado de no enviarlo spam en todas partes. De acuerdo, entonces en lugar de usar casting, queremos hacer una Interfaz de Blueprint. Para crear una Interfaz de Blueprint, en realidad
voy a crear una nueva carpeta dentro de blueprints, y normalmente lo llamo interfaces. Y dentro de aquí, puedo hacer clic derecho. Y dentro de los planos, hay algo llamado Interfaz de Blueprint. ¿ De acuerdo? Y esto es bastante guay. Tenemos, hasta el momento hemos aprendido sobre las Clases de Blueprint, la biblioteca, biblioteca de funciones y macro biblioteca y enumeración. Y ahora estamos aprendiendo sobre Interfaces de Blueprint. Por lo que casi tienes todos estos. Sólo necesitas la estructura a la izquierda. Entonces hagamos la Interfaz de Blueprint. Y para las interfaces suelen llamarlos int y luego darle un nombre. Y para este caso, quiero llamarlo modo de juego. Y verás por qué lo llamo modo de juego, porque esta es la interfaz para el modo de juego que realmente creamos aquí. De acuerdo, entonces si haces doble clic en esta Interfaz de Blueprint, ves aquí tenemos ahora esta ventana gráfica por aquí. Esto se parece al Gráfico de Eventos, y tenemos muchas funciones. Entonces aquí en esto, en la Interfaz de Blueprint, se crean funciones y estas funciones que se utilizan en otros blueprints. Entonces esto es como un titular de función. ¿ De acuerdo? Y esto es, la Interfaz de Planos es específica para los planos. Entonces voy a ver cómo les voy a mostrar cómo se adhieren a esos. De acuerdo, así que intentemos, en lugar de hacer el casting, en realidad
queremos evitar el casting y queremos referirnos a este modo de juego sin hacer casting. Entonces, ¿cómo hacemos esto? En primer lugar, dentro del modo de juego, aquí, en la interfaz del modo de juego de interfaz, vamos a hacer una nueva función llamada set Game Mode rref. Y esto es como establecer la referencia del modo de juego, vale, puedes llamarlo como quieras. Pero esto tiene sentido para mí, dijo Demode ref. De acuerdo, Así que esta función se especifica para establecer la referencia del modo de juego. Y aquí en la salida, vamos a añadir una variable. ¿De acuerdo? Y este, en realidad se puede escribir el modo de juego. Y puedes ver aquí puedo encontrar mi modo de juego GM. Esta es la clase de Modo de Juego que hicimos aquí. De acuerdo, Entonces queremos una referencia a esta clase de modo de juego. Tan bien, modo de juego y encuentra el llamado modo de juego GM. Este es nuestro modo de juego. Y esto debería ser una referencia de objeto. Y llamémoslo modo de juego. De acuerdo, Entonces esta es una variable, esto es igual que leer un booleano o un entero. Pero aquí la variable es nuestra clase de modo de juego. De acuerdo, vamos a compilar
y guardar, y les mostraré cómo podemos acceder a esto. Entonces dentro del modo de juego, el, la clase que hicimos aquí, tenemos que ir dentro de aquí. Y dentro de la, tienes algo llamado Configuración de clase, y tienes algo llamado valores predeterminados de clase. ¿ De acuerdo? Entonces dentro de la configuración de clase, tienes algo llamado interfaces. Tienes que agregar la interfaz a un blueprint antes de que pueda funcionar. Entonces en este momento esto, esta interfaz no está apegada al modo de juego, y por lo tanto no mostrará nada. Tenemos que adjuntarlo al plano. Queremos usarlo en. Y en este caso, queremos usarlo dentro del modo de juego. Por lo que aquí hacemos click en el anuncio y buscamos la interfaz o int. Y por eso es tan bueno escribir nombres antes del nombre real. Así que haga clic en el modo de juego final. Y ahora lo hemos agregado para recordar compilar para que funcione, compilar, guardar. Y se puede ver aquí a la izquierda algo aparece. Esta es la interfaz. Por lo que ahora en las interfaces, todas las funciones que hagas aquí aparecerán aquí. ¿ De acuerdo? Por lo que ahora puedes hacer doble clic en este modo de juego o en una disfunción que hiciste. Aquí puedes ver esta es en realidad la función que hiciste aquí. Aquí no se puede hacer nada, no se
puede agregar cosas aquí. Esta es sólo la interfaz. Sólo se puede crear la función y se puede utilizar la función dentro de este blueprint cuando se agrega a la configuración de clase. Entonces recuerda, mucha gente comete el error de olvidar agregar los dos en la interfaz aquí. Por lo que recuerda editar. Y después de eso en realidad se puede acceder a la función. Y aquí podemos ver la referencia o el modo de juego variable. Y la forma en que nos referimos a esto, en realidad
podemos simplemente escribir yo mismo. Entonces vamos a decir el modo de juego. ¿ Qué es, qué es esta referencia? Entonces, ¿qué es, qué es esta referencia del modo de juego? Y esto es yo, porque yo mismo, estamos dentro del juego, gm Game Mode. Recuerdo esta variable. Esta variable es el modo de juego GM. Entonces esto en realidad es yo mismo, esto es en sí mismo que está haciendo referencia. Y ahora esto es muy cool. Entonces ahora te mostraré cuál
es el resultado real dentro del Plano de Nivel en el que estuvimos. En lugar de hacer el modo de juego get y luego casting, en realidad ahora
podemos acceder a esta función de interfaz aquí. Por lo que volviendo al Plano de Nivel, podemos decir set Game Mode ref. Y puedes ver aquí tenemos SET modo de juego ref, y es muy importante que diga mensaje. Y esto significa que esta es la interfaz. Si no dice mensaje, esto está mal. De acuerdo, así que recuerda leer que dice mensaje. Y debería haber un ícono de letra aquí arriba. Entonces esto significa que esto es de una interfaz. Y si lo enganchamos, ahora tenemos una referencia a este modo de juego, porque este modo de juego, hemos referenciado a sí mismo. Por lo que sabe que este modo de juego aquí es en realidad este modo de juego. Discutirlos Modo de Juego que hicimos. Si no engancharas nada aquí, no lo haría, realmente no sabría qué, qué hace variable era. Entonces auto significa que este modo de juego es en realidad este modo de juego en el que estamos. Y como este modo de juego, podemos hacer el desove y el barril, está bien, Así podemos hacer el barril de enlace. Entonces así es como se trabaja con Blueprint Interfaces. Entonces ahora no costamos. Y esto es bastante cool y se puede ver el código también se vuelve mucho más limpio. Si nosotros, si lo guardamos todo, ellos lo tienen todo. Recuerda compilar. Y vamos a hacer clic en Jugar y ver qué pasa. Tenemos que ir dentro de la configuración del mundo y establecer el modo de juego GM, que es nuestro modo de juego personalizado. Y tratemos de jugar de nuevo. Y se puede ver aquí después de tres segundos, es bonos son barril, OK. Entonces ahora en realidad engendramos un barril con, sin hacer el casting. Entonces esta bolsa retrocede y se lo explicaré una vez más Solo rápido. Entonces lo que hicimos fue crear esta Interfaz de Blueprint. Entonces esta es nuestra Interfaz de Blueprint aquí. Y hay que adjuntar Interfaces de Blueprint a través de la configuración de la clase. Entonces podría haberlo hecho, lo podría haber agregado aquí si tuviera sentido, pero esto solo fue creado para el modo de juego, por lo que sólo tiene sentido añadirlo aquí al modo de juego. Y cuando agregamos, podemos acceder a las funciones de interfaz. Y dentro de esta función que hicimos, en realidad sólo queremos que haga referencia a este modo de juego. Por lo que agregamos una variable, y la variable fue este modo de juego GM. Entonces dentro del modo de juego GM, accedemos a esta interfaz que hicimos y tenemos que especificarle ¿qué es esta variable? Esto es uno mismo, porque ya estamos en modo de juego GM. Entonces así es como se puede hacer referencia. Y dentro del Plano de Nivel, entonces
podemos conseguir el modo de juego. Este es el modo de juego general de padres aquí arriba. Y podemos llamar entonces al set Game Mode ref. Por lo que en realidad puedes acceder ahora a estas funciones de Interfaz de Blueprint. Y entonces puedes llamar al barril de bonos porque ya sabemos que este modo de juego, lo
hemos referenciado como auto por aquí. Entonces lo sabe,
que te refieres al modo de juego GM por aquí. Ahora déjame mostrarte otra cosa genial antes de que terminemos el video aquí en el modo de juego indie, lugar de hacer un evento personalizado de barril de desove, te
mostraré cómo hacer un,
un evento a través del a través de la interfaz. Aquí voy a borrar este barril de columna, OK. Y voy a volver a la interfaz, y voy a añadir una función y llamarla engendrar insoportable. De acuerdo, y lo importante a saber aquí es si creas una salida, si haces doble clic en esto y dijo Gamow condujo. Si haces clic en una salida como un nodo de retorno, esta será una función, ¿de acuerdo? Por lo que esta será una función y será azul. Y lo puedes ver aquí. No obstante, si haces una función sin salida, así es, Es sólo la entrada aquí. Será un evento y éste será amarillo. Entonces los eventos son amarillos, ¿de acuerdo? Y será un evento si no tienes salida. No obstante, si tiene una nota de salida o devolución, no
será un evento en será función normal a la que pueda acceder. No obstante, si es un, si es un evento, significa
que solo tienes una entrada aquí y
puedes hacer doble clic y acceder a él porque se trata de un evento. Entonces tenemos un evento llamado barril de desove, y en realidad podemos ir al modo de juego aquí y escribir barril de desove porque no se puede arrastrar aquí. Dice error, no se puede arrastrar. Por lo que has derivado engendrado sobre lo que estás buscando es este evento spawn barril porque eres, necesitas los eventos, por lo que los eventos mambo. Y puedes ver aquí que este Iconos significa que esto es de una interfaz. Entonces ahora puedes usar esto aquí y enchufarlo. De acuerdo, entonces ahora tienes un evento usando la Interfaz de Blueprint. Y, y la razón por la que podemos llamarlo es porque lo hemos agregado a la configuración de clase. Por lo que conoce todas estas funciones que agregamos aquí. Por lo que puedes usarlos aquí. Y esto es mucho más limpio que puedes agregar todas las funciones aquí y luego usarlas. Y la forma en que llamamos el Ahora estamos recibiendo un error porque este ya no es el evento personalizado. Tenemos que cambiarlo. Este es ahora el Evento de Interfaz de Planos, y éste se llama barril de desove. Entonces vamos a escribir barril de desove y el que necesitamos elegir es recordar, es este mensaje. Entonces este es el frente, la Interfaz de Blueprint. Entonces barril de desove, vamos a llamar a éste. Lo que vamos a hacer es que estamos consiguiendo el modo de juego. Estamos consiguiendo la referencia, que está haciendo referencia a este modo de juego GM que hicimos. Y desde aquí estamos,
estamos llamando a esta Interfaz de Blueprint, que es el evento que hicimos dentro de la interfaz por aquí. Entonces hicimos la campana de la columna vertebral. De acuerdo, así que eso es bastante guay. Vamos a hacer clic en Jugar y ver qué pasa. Y después de tres segundos, debería engendrar eso también, que es legal también lo hace. Por lo que esto hace que el código sea mucho más limpio. Y verás también más claramente cuando hagamos nuestro juego porque usaré Interfaces de Blueprint para que podamos practicar. Y también recuerda que puedes agregar insumos a estos eventos. Entonces, por ejemplo, digamos que necesitabas esto, esta transformación de engendro dentro de este evento en realidad podría entrar aquí en este barril de punto. Y podrías agregar una entrada y llamarla transformación de engendrar. En realidad haz esto un poco más grande para que puedas ver lo que hay ahí dentro. Entonces puedo llamarlo spawn transform y puedo
convertirla en una variable de transformación y compilo. Y si vuelves al modo de juego, en realidad
puedes ver ahora tenemos una transformación y podríamos, por ejemplo, haberla enchufado aquí. Pero ahora mismo esto no tiene sentido porque nosotros, no lo
estamos haciendo aquí. Entonces puedes ver aquí si compilo y guardo y vuelvo
al blueprint, el Level Blueprint. En realidad puedes hacerlo de esa manera y podrías agregar una transformación aquí. Y digamos que queríamos, por ejemplo, conseguir, conseguir palabra. El actor está de pie. Por ejemplo, si tuvieras un personaje, obtendría la posición del personaje y lo conectaría. Y cuando enchufar una posición aquí como solo una variable promotora. Y se puede ver, así que esta variable por aquí va a seguir adelante y poner esta entrada dentro de esto, dentro de este evento o de esta función por aquí. Y pasará por aquí,
y pondrá el, lo que sea que lo agregues en esta variable, se añadirá a este actor engendrado. Muy bien, así que esto fue todo para las Interfaces Blueprint, y lo usaremos mucho más cuando creemos nuestro primer juego. Y antes de crear nuestro juego, Vamos a seguir adelante y aprender sobre, sobre lo último, que son los despachadores de eventos.
58. Dispatcher: Hola y bienvenidos de nuevo a esta última en la comunicación de Blueprint. Y éste se trata de despachadores de eventos. Por lo que este es un poco diferente a las Interfaces de Blueprint. El despachador de eventos se enfoca más en disparar múltiples eventos. Y se puede disparar un evento, se pueden encontrar múltiples eventos. Y lo genial es que también puedes comunicarte con el Level Blueprint por aquí. Y en lugar de explicarlo, Sigamos adelante y hagamos un ejemplo con un Despachador de Eventos. Entonces aquí en los planos, quiero crear una nueva clase y esta. Y digamos que quiero crear un actor y vamos a crear el barril. Por lo que queremos engendrar el barril en un momento determinado. Pero tendremos este barril. Podemos agregar un cilindro de componentes como lo hicimos antes. De acuerdo, así como esto. Ahora tenemos este barril y aquí también queremos crear un controlador de jugador. Así que haga clic con el botón derecho en clase Blueprint y cree un controlador. Y para los controladores de enchufe, normalmente los llamo PC. Y sólo llamémoslo controlador de jugador. De acuerdo, Entonces dentro de este controlador de jugador, la idea que queremos hacer es cuando presionas la tecla del teclado, ganas monedas. Y cuando ganara suficientes monedas, engendrarás este barril en el mapa. De acuerdo, y queremos hacerlo a través de un, en un Despachador de Eventos. Ahora vamos al interior del controlador de jugador y no hacemos nada aquí, hay que ir al Gráfico de Eventos. Quiero eliminar estos eventos y menos pasos Teclado E aquí. Entonces ahora tengo esto como y queremos ganar monedas cuando procedamos. Entonces hagamos una variable, llámalo monedas. Y este es un entero porque las monedas cuentan realmente no tiene decimales. Eso no tiene sentido a menos que tu juego tenga entero. Nosotros sólo queremos monedas ordinarias. Y cuando presionas la tecla E, queremos dos más por una moneda. Entonces en una clave precedente queremos más, más por una moneda. Y cuando tengamos suficientes monedas, queremos engendrar el barril y queremos hacer esa lógica dentro del Plano de Nivel. Entonces vamos a repasar y abrir el Plano de Nivel. Recuerda estar dentro de este tutorial de mapa. ¿ De acuerdo? Y en su Planeación de Nivel, Vamos a pasar y digamos comenzar arcilla. Y lo que queremos hacer, queremos llamar al despachador. Entonces ahora vamos a crear el despachador y también volvamos a este plano de nivel. Por lo que por aquí, queremos crear un Despachador de Eventos. De acuerdo, Así que crédito en este Plus para hacer un Despachador de Eventos y podemos llamarlo desovador de barril. De acuerdo, Entonces este despachador de eventos podemos compilar. Y a la derecha, se puede ver que tenemos algo llamado entradas y podemos agregar un parámetro. Entonces sigamos adelante y hagamos eso. Haga clic en nuevo parámetro. Y para aquí queremos sumar estas monedas para que yo pueda arrastrar y se pueda ver qué es, cómo se ve. Y si lo arrastras hacia fuera, puedes ver que puedes llamarlo un combinado en bandidos y evento y seno. Un seno. Y esto es lo que es. Tienes que llamar a este despachador. Esto es como, esto es como llamar a esta función o hacerlo con las interfaces de usuario. Esto es lo que haces incluso con despachadores. Tú lo llamas, ¿de acuerdo? Y te conectaste igual que cualquier otra función. De acuerdo, entonces ahora estamos llamando a este despachador de eventos. Y déjame seguir adelante y hacer esto correctamente con la variable por aquí. Entonces si hace clic en el Despachador de eventos aquí abajo, Vamos a cambiar la variable a entero porque queremos este valor de moneda. Y solo puedes llamarlo monedas. Compilar y Guardar. Y en realidad eliminemos este y lo arrastremos hacia fuera y colágeno. Entonces es correcto. Y conectemos este resultado entero y tipo de monedas. De acuerdo, entonces ahora hemos llamado a este Despachador de Eventos, igual que cuando llamas eventos, ¿de acuerdo? Al igual que cuando llamas a eventos con normalidad. Entonces ahora tengo este Despachador de Eventos y pasemos al tutorial o al Planeador de Nivel. Y aquí queremos acceder a este Despachador de Eventos. Y recuerda, si queremos acceder a algo dentro de esta Clase de Blueprint personalizada, tenemos que ya sea un costo para ella o usar Interfaces de Blueprint. Por lo que para este, puedo mostrarles cómo hacer ambas solo por práctica. Si quieres
costarle, puedes decir git player controller. Ustedes recuerdan, la clase de padres es el controlador de jugador. Y esta es la ley general de control de jugadores. Pero aquí quieres lanzar a tu propio controlador personalizado, aunque, correcto, Clase 2. Y te encuentras con este controlador. Y desde aquí, puede entonces llamar al Despachador de Eventos. Y cuando quieras llamar a un despachador de eventos, tienes que vincularlo. Esto es lo que se llama. Se vincula al Despachador de Eventos. Entonces tienes razón por dos. Y luego escribe el nombre del despachador de eventos. En este caso para nosotros, lo
llamamos barriles fauna, y se puede ver aquí dice Bind Event to barril spawner. Voy a explicar este y estoy un poco, Vamos a seguir adelante y ver cómo podemos hacer esto dentro de una Interfaz de Blueprint en lugar de costear. Por lo que tienes las dos opciones solo para la práctica. Y permítanme que vuelva a borrar esto. Y déjame ir y hacer una Interfaz de Blueprint. En primer lugar, tenemos que conseguir una referencia a este controlador de nivel. Entonces la forma en que lo hacemos es repasar en los planos, creando una carpeta. Todo en interfaces. Dentro de esto, hagamos una nueva interfaz en lugar de planos e Interfaz de Blueprint. Vamos a llamarlo int lab Controller. Y hagamos doble clic. Y dentro de aquí, Hagamos una nueva función llamada That's lay up controller F. Y puedes llamarlo como quieras. Y queremos una referencia, referencia a este controlador jugador. Entonces déjame mostrarte aquí en el controlador de laboratorio. Recuerda tenemos que añadir interfaces a gloses de lo contrario no van a funcionar. Entonces dentro de la configuración de clase, tienes dos aquí abajo y las interfaces, tienes que agregar el controlador negro ENT que acabamos de hacer. Yo lo voy a hacer. Aquí puedes ver nuestra función de interfaz aparece. De acuerdo, recuerden, esto es un, este es un evento si sólo tenemos insumos. Entonces ahora esto es un evento. Realmente no podemos hacer doble clic en él como una función. Por lo que queremos referir al controlador. Entonces agreguemos una salida. Y dentro de las salidas, Hagamos el controlador de jugador que tenemos aquí. Esta es la referencia que queremos controlador de jugador TCE. Y esto es una referencia de objeto. ¿ De acuerdo? Y aquí podemos llamarlo controlador de jugador, compilar y guardar. Y no se puede hacer nada aquí. Entonces todo esto está terminado. Volvamos al controlador del jugador. Y ahora se puede ver que se ha vuelto azul porque ahora tenemos unas salidas y ya no es un evento. Podemos hacer doble clic en él y ahora sólo podemos escribir yo mismo. Entonces estamos referenciando, es preguntar ¿qué controlador de jugador es esta referencia? Este es yo porque estamos dentro de éste. ¿De acuerdo? Entonces la referencia es ésta. Así es como lo haces. Y ahora lo que podemos hacer efectivamente Level Blueprint. En realidad podemos aquí, en lugar de costear, Vamos a copiar este controlador get led. Y ahora podemos decir la función que acabamos de hacer así set player controller ref. Y recuerda ya que es una, una función de interfaz, tiene que decir mensaje, ¿de acuerdo? Y también es así muestra a través de este ícono de letra que es una función de interfaz. Entonces al igual que antes de ahora lo que podemos hacer es atar al desovador de barril. Entonces así es como llamas a despachadores de eventos. Te atan a ellos. Entonces, eliminemos este costo. Solo usemos el logit de control de placa o la función de interfaz que acabamos de hacer. Y conectemos todo. De acuerdo, entonces cuando creas, cuando tus despachadores de eventos de crédito, los
llamas igual que un evento ordinario que acabas de aprender son como funciones. Simplemente los llamas así normalmente. Y cuando los llamas, cuando los usas en otros lugares, tienes que atarte a ellos. Y lo que hay que hacer es hacer referencia al lugar
donde realizó el Despachador de Eventos. En este caso, estamos haciendo referencia al controlador
del jugador porque aquí es donde lo hemos hecho, está bien, y hay que vincularlo. Y ahora tenemos un evento aquí. Entonces aquí vamos a crear un eventos personalizados y llamémoslo engendrar barril. De acuerdo, Vamos a compilar y guardar. Y ahora cada vez que subamos de nivel, cada vez que presiono E, lo estamos, o cada vez que
procedemos, vamos a ganar moneda. Y cada vez que ganemos una moneda, va a llamar a este spawner paralelo. Y cuando llames al Despachador de Eventos, va a disparar todos los eventos a los que te has acotado. Entonces cuando presiono E y gano una moneda, en realidad
va a disparar este evento. Y se puede hacer esto en muchos, muchos planos. Te puedes imaginar que tienes 10 lugares donde te atas a este spawner campana, a este Despachador de Eventos. Y cada vez que lo
llames, se va a disparar en todos los lugares a los que te has acotado. ¿ De acuerdo? Entonces aquí lo que queremos hacer, ahora tenemos esta entrada llamada monedas. Y esta Monedas en realidad viene de aquí. Entonces cada vez que pulses E, nos
va a dar una moneda más. Y lo va a poner dentro de este Despachador de Eventos. Y ahora podemos ver que tenemos esta moneda que agregamos aquí. Y lo que queremos hacer es simplemente preguntar, este número
es mayor o igual a 10? Entonces si tenemos 10 monedas, ¿es esto cierto? Si lo es, podemos seguir adelante y hacer engendrar actor de clase. Podemos engendrar el barril y el lugar que queremos engendrarlo, promovamos esto a una variable y llamarlo transformación de barril. Y vamos a compilar y guardar a menos que uno en el medio del mapa y simplemente darle 15 para que no esté bajo tierra. Y podemos decir que trató de ajustar la ubicación pero siempre engendrar. Y vamos a ahorrar. Y antes de poder hacer clic en play, recuerda que este es un controlador de jugador
personalizado y personalizado y tenemos que asignar algo aquí. Pero recuerda, en realidad no tenemos modo de juego. Y para esto, vamos a seguir adelante y crear un modo de juego. Entonces dentro de aquí, te un modo de juego de crédito clase blueprint, y vamos a llamarlo modo de juego g m. De acuerdo, ahora tenemos un modo de juego. Guardémoslo todo. Y dentro de los ajustes de unos, Cambiemos el modo de juego predeterminado al modo de juego. Y luego puedes asignar un controlador de jugador. Y aquí queremos asignar el controlador de jugador de PC. Y ahora estamos usando nuestro Modo de Juego Personalizado, y también está usando el mando personalizado. Guardémoslo todo. Y veamos qué pasa. Click play. Y cuando presionas la tecla E, y en realidad imprimamos en la pantalla para que puedas verlo mejor. De lo contrario lo quieres realmente visualizarlo. Y cuando añadas monedas, yo también quiero, Vamos, imprimamos una cuerda antes de que hagamos esto. Así que imprime una cuerda. Y ésta se puede tratar de utilizar notas reescribidas. Y puedes hacerlo haciendo doble clic en esta frontera. Y aquí queremos decir, solo
queremos imprimir la cantidad de monedas que tienes actualmente. Y en realidad, hagámoslo así. Eso está bien. Igual que eso. De acuerdo, ahora los va a imprimir sólo para que podamos verlo. Y si hacemos clic en play y presionamos la tecla, dice uno. Y es un guiso. Y cuando llegues al número 10, debería engendrar barril D. Y se puede ver aquí, ahora hemos engendrado este bot. Entonces lo que pasa es, hagámoslo, pasémoslo rápido. Lo que pasa es que creamos este Despachador de Eventos. Y para despachadores de eventos, los
llamas igual que cuando imprimes, cuando sacas una función y quieres usar esa función o cuando llamas a los eventos personalizados que haces. De acuerdo, Entonces ahora llamamos a este Despachador de Eventos, igual que tú llamas a eventos. Normalmente. Para este despachador de eventos, agregamos un parámetro. Y esto se convierte porque queremos que nos afecten estas monedas. Esto es lo que está afectando. Y estas monedas por aquí, para llamar a este Despachador de Eventos, tienes que vincularlo y solo escribes bind a y luego el nombre del Despachador que hiciste. Y recuerda que tenías que hacer referencia al lugar que hiciste el despachador de eventos. Por lo que en este caso fue en el controlador de jugador. Y aquí en el controlador de jugador podemos entonces sacar y enlazar al despachador de eventos. Y cada vez que llames al Despachador de Eventos, cada vez que presionas E y lo llamas, se va a disparar en todos los lugares a los que has delimitado. Entonces en este caso, sólo nos hemos unido a un evento aunque está ligado a este evento. Este evento se va a disparar cada vez que presionamos E. Pero sólo va a hacer algo porque habíamos agregado esta condición de que si tenemos 10 o más monedas, entonces adelante y engendra el barril. Y sólo para demostrarles que se está disparando todo el tiempo, sólo
podemos decir fuego aquí abajo. Entonces si aún no tenemos diez monedas, va a decir fuego. Y si hacemos click play y hago clic en E, solo fuego, fuego, fuego, fuego. Por lo que va a disparar este evento todo el tiempo, cada vez que presionas E Porque has llamado este Despachador de eventos y se va a disparar en todas partes a las que te hayas acotado. Y esto es muy útil, sobre todo si lo ata en muchos lugares. Se puede disparar, se puede imaginar se puede disparar muchos eventos a la vez. Y esta es también una forma genial de comunicarse con el Level Blueprint. Así es como utilizas despachadores de eventos. Por favor avísame si tienes alguna duda al respecto. La comunicación de blueprint suele ser un poco más difícil para los principiantes, pero si tienes una buena comprensión de cómo funciona, entonces todo será mucho más fácil de entender. Entonces vamos a repasar y a la siguiente sección y en realidad desarrollar un juego real. Hasta el momento acabamos de utilizar la cadena de impresión y muchos videos. Y si bien es genial mostrar todas las cosas a través de una cadena de impresión, generalmente tiende a hacerse más difícil cuando intentas desarrollar un juego real porque está bien. Imprimí una cadena, pero cómo lo uso realmente salió de nuevo en un programa. Y esto es lo que vamos a ver. Vamos a programar de nuevo desde cero. Y te mostraré el proceso de cómo empezar desde cero. Y luego el juego de lava que en realidad es funcional y haciendo una condición de viento y todo eso. Pero sigamos adelante en la siguiente sección y desarrollemos nuestro primer juego.
59. Introducción de juegos: Hola y bienvenidos a esta sección. Por lo que esta sección se enfocará en crear tu primer juego. Y para este, solo estamos creando un juego muy sencillo como tu primer juego para ver cómo usamos todas las cosas que hemos aprendido y las juntamos para hacer juego. Entonces lo que vamos a hacer es solo una esfera simple que puedes controlar si tu teclado y vas a perder scroll y scroll. Y se mostrará,
mostrada arriba en la esquina superior izquierda podrás ver cuántos pergaminos cargados. Y cuando termine de cargar los pergaminos, puedo entrar a mi portal. Y desde aquí te va a mostrar qué tipo de trofeo tienes. Si no has cargado muchos trofeos, vas a conseguir el trofeo de bronce. Si has cargado en el medio, estás consiguiendo la plata. Y si has cargado todos los trofeos o todos los pergaminos, estás consiguiendo el trofeo de oro. Entonces este es un juego muy sencillo, pero vas a aprender algunas cosas y cómo hacerlo, con todas las cosas juntas que hemos aprendido a partir de ahí, podemos pasar a temas más avanzados. Entonces sigamos adelante e iniciemos el proyecto de juego.
60. Descarga de el proyecto: De acuerdo, Hola y bienvenidos a este proyecto de juego. Entonces antes de que sigamos adelante y hagamos algo, favor adelante y descargue este proyecto que he subido al sitio. Así que adelante y descárguelo. Se llama Coleccionista de la Muerte. Y lo que verás es una carpeta y dentro de ella está todo el proyecto. Aquí puedes ver cómo se ve y esto es lo que vas a estar descargando. Y cuando lo
extraigas, puedes abrir el cobrador de deudas que tu proyecto. Y también si tú, si no quieres abrirlo por aquí,
puedes abrirlo a través del lanzador de Epic Games. Cuando lanzas Unreal Engine cinco, dentro de ahí en el proyecto, puedes navegar a este nuevo archivo de proyecto y seguir adelante y abrirlo. Por favor avísame si tienes algún problema para abrirla. Espero que no. Y cuando abres el proyecto, ves todas estas cosas. Entonces recuerda cuando abres un proyecto, generalmente estás dentro de un nivel vacío. Por lo que hay que hacer doble clic en uno de los mapas para ingresar a un nivel. De acuerdo, Entonces esto es algo para saber. Y dentro de este proyecto, hay algo, hay estas carpetas por aquí. Por lo que tenemos una carpeta 3D, y dentro de la carpeta 3D tenemos todos estos activos. Por lo que estos activos es lo que se utiliza para crear este nivel. Y además acabo de crear un nivel rápido que podemos usar para nuestro juego. Pero puedes seguir adelante y crear un nivel de mejor aspecto si quieres. Estos son activos que solo puedes hacer clic y arrastrar y soltar aquí ya lo he hecho, ya he añadido los materiales y texturas y todo eso para que no tengas que pensar en ello. Puedes seguir adelante y arrastrar activos y diseñar tu propio nivel si quieres. Estos son todos activos que se crea para mi arte de tablero de juego. Y dirigí este juego y recrear muchos activos que creamos. Activos para, pienso en 10 meses. He creado muchas cosas, así que esto solo es parte de ello. Estos son sólo algunos activos más pequeños del juego. Y vamos a usar esos para crear nuestro propio juego pequeño. Y estos artistas, artistas que crean esto, estos activos son muy talentosos, así que esto fue realmente genial para trabajar. Y aparte de estos activos 3D, también
tenemos audio, y acabo de insertar dos diferentes como efectos. Y tenemos planos. Acabo de crear algunos planos de iluminación para que puedas ver o si lo arrastras hacia fuera, tenemos una luz que podemos colocar alrededor. Y te mostraré cómo crear estos también. Y también vamos a crear otros planos aquí. Tenemos mapas, tenemos el mapa del inframundo, que es este mapa actual en el que estamos. Y tenemos el mapa final, que es este mapa en el que estamos cuando terminamos el juego. Y tenemos estos bonitos activos de mercado, que son de forma gratuita. Y tenemos esta vela Todo efecto, efectos
visuales, que es sólo esta iluminación de vela. De acuerdo, entonces antes de que empecemos, solo
quiero explicarles de qué se trata este juego. Y de lo que trata su juego es que no eres una bola pequeña y esta bola puedes controlar lo que WAS, son las flechas en tu teclado. Y esta bola apenas está rodando por ahí recogiendo todas las monedas en el nivel. Y luego cuando termines de recolectar las monedas, vas dentro de este portal, que luego terminará el juego, y terminarás en esta pantalla final. Por lo que aprenderemos a crear la carga de un cliente. Las monedas, vayan y cambien de niveles y hagan la pantalla final. Y dependiendo de unas cuantas, si has conseguido todas las monedas son cuántas monedas has conseguido, tu vas a conseguir trofeos diferentes. Entonces tenemos aquí un, un trofeo de bronce. Tenemos un trofeo de plata, y luego tenemos un trofeo de oro. Entonces estamos consiguiendo uno de esos trofeos. Y aquí también tenemos una plataforma en la que podemos colocar el trofeo. Y este será un juego genial, tan muy sencillo, solo recolectar monedas, dependiendo de cuántas monedas hayas recogido, obtendrás un trofeo. Y aquí te juego indie con tu personaje. Por lo que esto será perfecto para nuestro primer juego. Nada demasiado complejo, pero todavía vamos a aprender mucho. Y es muy guay que antes aprendimos todos los fundamentos de la programación, pero también es más fresco armar todo y tratar de usarlo. Porque a veces es confuso cuando solo usas cadena de impresión. Y a veces es más difícil imaginar cómo juntar todas estas cosas que has aprendido para crear un juego completo. De acuerdo, ya basta hablar del juego. Pasemos a la siguiente lección y en realidad empecemos a hacer el proyecto.
61. Modo de juego y controlador de jugador: Entonces sigamos adelante y configuremos el modo de juego y el controlador de jugador. Por lo que aquí en la carpeta Blueprints, clic con el botón derecho y haga clic en Clase de Blueprint. Y elijamos el controlador del jugador. No importa lo que elijas primero se acaba crear el controlador del jugador y llámalo PC. Y sólo llamémoslo el nombre del juego. Por lo que cobrador de deudas y haga clic derecho, cree una Clase de Blueprint. Y vamos a crear el Modo Juego. Y recuerda que el controlador jugador es, es un Controladores y actor responsable de controlar sobre utilizado por el jugador. Por lo que lo usaremos para controlar en un poco el personaje que estamos creando. Y el modo de juego
es, es definir las reglas del juego, la anotación, y así sucesivamente. Crearán un modo de juego llamado coleccionista de deudas GM. Por lo que ahora tenemos un modo de juego y un mando negro. Para poder utilizar este modo de juego. Y el controlador de jugador, estos son los personalizados. Vamos a seguir adelante y editar y la configuración del proyecto. Y dentro de aquí tenemos algo llamado mapas y modos. Y dentro de aquí tenemos el modo de juego por defecto y tenemos que
cambiarlo por el personalizado que acabamos de hacer el cobrador de deudas GM. Este es nuestro modo de juego. Haga clic en la flecha aquí y el modo de juego seleccionado, y verá todas estas clases, la predeterminada nacida. Realmente no tenemos un conmovedor por defecto. Lo crearemos en un poco, pero tenemos un controlador de jugador. Entonces cambiemos este por el coleccionista de muerte de PC, que es nuestro controlador de jugador personalizado. Vamos a cerrarlo. Y solo para asegurarte, Entra al modo de juego aquí. Y dentro del modo de juego. Simplemente comprueba aquí a la derecha que nosotros, el controlador del jugador es en realidad el cobrador de deudas de PC y esto es correcto. Entonces esto está bien. Vamos a cerrarlo. Y dentro del mundo ajustes a la derecha aquí. Entonces haga clic en la configuración del mundo. También hay que cambiarlo al músculo. Recuerda, haz click en el mapa por el que quieras cambiarlo. Entonces, empecemos con el mapa del mundo. Aquí en la configuración del mundo, cambia el modo de juego a colector de deudas GM, y solo asegúrate de que el controlador del jugador sea recolector de datos PCI. Entonces esto es correcto. Demos click en el mapa y veamos los ajustes del mundo. Cambia el modo de juego a cobrador de deudas GM y PC ese coleccionista. Entonces recuerden que esto es un error que muchos cometen. Te confundirás por qué tu juego no está funcionando de la manera que querías. Y esto es porque tal vez olvidaste asignar realmente el modo de juego. Por lo que recuerda asignar el modo de juego. Y vamos a seguir adelante y abrir los controles de inundaciones más grandes para ver si tenemos que hacer algo aquí. Y esto se ve bien. Entonces vamos ¿Qué fue otra vez? Déjame dar click en el modo de juego y dar click aquí para abrir el editor completo. Y esto se debe a que la, la, la clase blueprint está vacía. Es por ello que esto va a ser a pantalla completa. Así que da click en abrir editor de blueprint completo y se abrirá como antes. Y solo quería ver si necesito editar algo aquí. Y también se ve bien. Entonces, cerrémoslo y esto está bien por ahora. Siempre volveremos atrás y haremos algunos cambios cuando lo necesitemos. Por lo tanto, tratemos de configurar el personaje ahora.
62. Crear el personaje: De acuerdo, Entonces el personaje sobre solo va a ser un balón que está rodando por ahí que vamos a controlar. Así que vamos a crear este personaje, haga clic aquí y creemos una clase de blueprint. Ahora tenemos que decidir cuál debe ser el personaje. Tenemos algo llamado pon, Tenemos algo llamado carácter. Y recuerda que el pon es un, es un actor que se puede poseer. Por lo que realmente podemos controlar esto encendido. También tenemos un personaje que tiene la capacidad de caminar. Pero te puedes imaginar que un personaje era dos piernas, dos brazos. Lo que tenemos en realidad es sólo una pelota. Entonces esto será suficiente para nosotros. Sólo tenemos que controlar el balón. No cree un actor porque un actor no puede recibir la entrada de un controlador. Entonces tenemos que elegir, y llamémoslo bola VP. De acuerdo, Así que este es el jugador, haga doble clic en él. Y dentro de aquí sólo queremos hacer una esfera simple. Pero adelante y haga clic en agregar en una esfera. Y aquí puedes renombrarlo. El modo en que renombras es hacer clic derecho y renombrar o de la forma más rápida, que normalmente hago es solo hacer clic en F2 y puedes hacerlo con todo. Simplemente puedes hacer click off to, click off to ball no calificado. Y este balón aquí se puede ver aquí si lo compilo, guardo y lo cierro, si lo arrastro, puede ver esta es la pelota que en realidad va a ser controlada. Haga doble clic en el balón. Y sigamos adelante. Y aquí podemos añadir una cámara. Necesitamos una cámara para ver el balón. Y necesitamos necesitamos como una cámara como esta. Necesitamos como una vista de arriba hacia abajo en el balón. Así que adelante y vaya a dar click en Agregar. Y antes de añadir esta cámara, necesitamos añadir un brazo de resorte. Y lo que es un brazo de resorte, es que lo puedes imaginar un soporte para la cámara. Entonces adelante y, y la cámara. Entonces ahora tenemos el balón. El balón o el brazo de resorte está unido a la pelota y las cámaras unidas al muelle hacia arriba. Entonces ahora si hacemos click en el resorte encendido y hacemos click en E para rotar, se
puede ver si rotamos la cámara está unida al brazo de resorte y en realidad podemos simplemente
girarla para obtener la vista correcta de la bola, pero compilar. Entonces tal vez queremos a este espectador, pero siempre ajustaremos el cuando jugemos el juego. Si esto no es satisfactorio, cuando jugamos el juego, siempre
podemos entrar y cambiar un poco la rotación. Si no quieres que se encaje, siempre
puedes quitar este Snap aparece y simplemente girarlo a tu gusto. De acuerdo, esto está bien por ahora. Y por aquí en el brazo de
resorte, también puedes cambiar la longitud del brazo. Entonces qué tan lejos estás viendo el balón. Entonces este es el bien por ahora. Siempre podemos intentar ajustarlo más tarde a menos que lo hagamos 600 por ahora. Y esto está bien. Entonces hagamos clic en Guardar todo. Y esto se ve bien. Y esto fue todo por el personaje configurado. Entonces ahora tenemos un personaje que aquí podemos colocar al suelo. Y se puede ver que tenemos, tenemos un pequeño insecto aquí. Se puede ver si se va a la clandestinidad. La cámara se pega así. Y si lo ponemos en el suelo, será correcto. Entonces lo que podemos hacer en realidad, esto es porque la cámara aquí son la primavera, lo siento. Tiene algo llamado do prueba de colisión. Y esto es porque cuando golpea algo, va a hacer colisiones con él. Pero no queremos hacer colisiones. Y ahora cuando lo llevemos por el suelo, se
puede ver que en realidad no está molestando, de acuerdo. Y también otro error es que si lo arrastramos hacia fuera, se
puede ver que la pelota está en realidad debajo del suelo. Entonces haga doble clic en el balón. Y vayamos al mirador. Haga clic en el balón aquí. Y yo sólo voy a aplicar este chasping. Entonces haz clic, muévelo hacia arriba una vez que puedas ver que ahora está por encima del suelo. También podemos ser precisos, esto ahora es preciso, pero imagínate si tuvieras algo que querías ser más preciso en él, puedes usar estos modos de vista. Así que ve al modo de vista izquierdo o derecho. Y se puede ver que este muro necesita estar por encima de esta línea roja, que es el suelo. Componer y Guardar como volver al modo perspectiva. Y vamos, sigamos adelante y cerremos esto hacia abajo, colocando el balón. Ya puedes ver ahora está por encima del suelo. Y la cámara también es correcta. Entonces si hacemos clic derecho en este balón y hacemos click en el balón piloto BP, puede ver esta es en realidad la vista del balón en el que nos encontramos actualmente. Para salir de esta vista aquí, en realidad
puedes simplemente inyectar la cámara aquí. Así que salgan de la cámara. Y eliminemos esta bóveda por ahora. Por lo que se trata de clases de blueprint muy cool. Siempre puedes arrastrarlos y están listos para salir. Entonces sigamos adelante en la siguiente lección y aprendamos a hacer el movimiento del personaje.
63. Movimiento de personajes: Hagamos ahora el movimiento de personajes. Por lo que me gusta hacer el movimiento dentro del controlador de jugador. Así que adelante y haga doble clic en este controlador de flujo. Y solo voy adelante y borrando todos estos eventos. Haré las mías o las añadiré si es necesario. Y lo que necesitamos hacer es usar algo llamado torque. Por lo que aquí podemos escribir torque. Y si no lo encuentras para quitar este sensible al contexto, tenemos algo llamado torque en grados y radianes. Nos vamos a la llamada en radianes. Por lo que ahora torque es una fuerza que añades para mover el balón que te mostraré cómo moverlo. El torque es una fuerza para aplicar al balón para que podamos moverlo. Y esto en realidad no es lo que utilizamos a los personajes que tienen dos piernas, dos brazos para caminar. Pero para bolas como esta, tenemos que usar un forzado para moverlos alrededor, que se llama torque. De acuerdo, entonces ahora he enseñado, pero necesitamos un evento. Recuerda que necesitamos comenzar con un evento para conectarnos con esta función. Y evento que vamos a hacer es cuando hagas click w, quieres avanzar y así sucesivamente. Entonces en lugar de, en lugar de entrar aquí y escribir la tecla W y hacer esto, esto es, esto es, esto es duro. Puedes hacerlo así. Pero el problema es, es que si estás en el juego y el jugador va en el menú de ajustes y el jugador uno para cambiar la tecla W por otra cosa. No se puede desplegar, no se puede hacer eso porque w está codificado como el evento para avanzar. Por lo que una mejor manera de hacerlo es ir al archivo o a la Editar configuración del proyecto. Y dentro de aquí tenemos algo llamado entrada. Y la entrada, tenemos algo llamado Action Mapping y mapeo de acceso. El mapeo de acciones es cuando haces clic en un botón y puedo ver que tenemos algo llamado click izquierdo. Déjame en realidad sólo quitarlo por ahora. Por lo que tenemos un mapeo de acciones y un mapeo de ejes. Por lo que el mapeo de acción es cuando haces clic en un botón, por ejemplo, si haces clic en el comedero interactúa con la puerta, o si haces clic en G para soltar tu arma. Pero el mapeo de acceso son sus botones que usamos para mover y mantener pulsados. Por ejemplo, el W2 se mueve o esto para retroceder y así sucesivamente. Entonces en este caso vamos a utilizar un mapeo de ejes. Y aquí llamémoslo avanzar. Y aquí vamos a asignar un botón para que podamos usar la tecla de escritura W o simplemente W para encontrarla. Y este es el WQ. Puedes agregarles otra clave aquí porque en realidad estamos avanzando y retrocediendo, pero usualmente lo llamo avanzar. También puedes llamarlo mover horizontal y vertical, eso depende de ti, lo que sea que tenga sentido. Entonces w y en cuanto a avanzar y retroceder, en lugar de encontrar las llaves aquí, quiero mostrarles una mejor manera. Puedes hacer clic en este botón aquí y hacer clic en la tecla S del teclado. Y esto lo asigna automáticamente. De acuerdo, así que tenemos que avanzar, moverse, y necesitamos el movimiento a la izquierda o a la derecha, debería llamarlo movido a la derecha. Por lo que izquierda y derecha están usando la tecla D y usando el achy. ¿ De acuerdo? También tenemos escalas. Por lo que estos necesitan estar en direcciones opuestas porque el que se mueve hacia adelante y el que se mueve hacia atrás, que es un número negativo. Y lo mismo en este, D es uno y a es el, puedes imaginarlo como un eje. Y moverse hacia arriba es positivo, abajo es negativo. Entonces así como esto. Y ahora se han movido hacia adelante y se mueven a la derecha? Y estos realmente podemos usar como eventos. Quien cerró la entrada por ahora, podemos entrar más tarde si necesitamos algo y abrir el controlador del jugador. Y aquí se puede escribir avanzar. Se puede ver aquí tenemos el evento del eje. Haga clic en eso. Y los tenemos avanzar evento. Tan conectado con este par de torsión. Y necesitamos un objetivo para este par de torsión. Y el objetivo para este par de torsión es en realidad esta malla por aquí. Este es el balón, necesitamos este balón aquí. Necesitamos el, necesitamos este Componente de Malla Estática. Entonces la forma en que hacemos esto, recuerda ahora necesitamos comunicarnos con el otro Blueprint. Por lo que ahora necesitamos usar ya sea casting o una Interfaz de Blueprint. Entonces sigamos adelante y usemos una Interfaz de Blueprint. A mí me gusta hacer eso, pero minimicemos esto y necesitamos establecer una referencia a este tazón. Hagamos clic derecho en una nueva carpeta llamada interfaces. Dentro de aquí, Vamos a crear una nueva interfaz. Por lo que blueprint y Blueprint Interface, llámalo bola int. Y dentro de esta interfaz quiero crear una nueva función llamada set all ref. Por lo que esto establece la referencia del balón. Creamos una salida y la llamamos bola BP. Esto es lo que llamamos el, el balón clase Blueprint azul. Y esto es una referencia de objeto al nombre es el mismo. Al igual que la clase que creamos aquí, porque esto es lo que queremos referir a dos. Entonces ahora lo tenemos y vamos a llamarlo, vamos a llamar al, vamos a llamarlo bola aquí. Este es el valor. Y vayamos a la pelota. Esta es bola de BP ahora. Y dentro de aquí, recuerda que hay que añadir uso. Tenemos que añadir Interfaces de Blueprint antes de que puedan funcionar. Por lo que dentro del balón de BP, tenemos que ir a ajustes de clase. Da click en Agregar, y escribe int ball. Por lo que ahora lo agregamos y se puede ver la interfaz aparece. Entonces si haces click en él, haz doble clic en él. Dije balón ref y escucha qué, ¿qué pelota quieres? ¿ Cuál es la referencia? El referente en sí, porque ya estamos dentro de vv ball. Ah, esta es la referencia que queremos. El ahora lo que está bien es que podemos seguir adelante y empezar con el cobrador de deudas. Entonces este es el controlador del jugador. Y luego dentro de aquí podemos decir, podemos decir peón. Y recuerda si no sabes qué buscar, porque cuando necesitamos llamar a interfaces, funciones de Interfaz de
Blueprint, tenemos que llamar primero a la clase padre. Entonces, ¿cuál es la función general? Este es el estanque al que necesitamos llamar primero, al igual que lo que hicimos con el Modo de Juego y el controlador de jugador, escribimos get player controller y luego nos referimos al controlador de flujo de clientes. Lo mismo con este punto. Tenemos que llamar primero a este estanque. Entonces si no sabes cómo se llama, este estanque derecho, así es como los encuentras de la manera más fácil. Y aquí podemos ver algo llamado Get Player on. Ok, Entonces cuando tú, cuando llegues a jugar, puedes entonces hacer referencia a este punto que tienes, esta es la fuente personalizada para que no vamos a decir cuesta, podríamos haberlo hecho como elenco al balón BP. Pero no estamos creando casting. Ya tenemos una interfaz y la función se llama set bowl reference. Esto va a llamar a esta referencia. Y ya sabe que la referencia del balón en sí, que es ésta, digamos dicho balón ref. Whoops, y este es el equivocado. Dicho balón ref. Recuerda que tiene que ser el mensaje porque esta es la función de interfaz. Y ahora como la pelota o como esta clase de blueprint, ahora
podemos realmente agarrar esta bola Componente de Malla Estática. Entonces voy a escribir balón. Y ahora puedes ver, puedes dar click en Obtener bola. Por lo que ahora tienes este componente de bola que puedes agregar a este objetivo. Y a esto es a lo que queremos agregar torque. Vamos a conectarlo y hacer clic en compilar y el error elimina. Y ahora tenemos que sumar los torques. Por lo que ahora necesitamos sumar el movimiento. Y antes de añadir el movimiento, antes de que lo olvide en realidad, sigamos adelante dentro de la Edición, Configuración
del proyecto y mapas y modos. Y vamos a cambiar el valor predeterminado Clase de Empeño, 2, BP a granel. Entonces ahora tenemos esta Clase de Empeño. Cerrémoslo y solo haga doble clic en el Gamow solo para asegurarnos de que esté configurado en bola BP. Eso es correcto. Y sólo tienes que ir a la configuración del Mundo y asegurarte de que sea el balón VP. Eso también es correcto. De acuerdo, Así que esto es configuración y volvamos al controlador del jugador. Ahora tenemos que decidir en qué dirección necesitamos agregar el par, porque el par es una fuerza que se agrega al tazón. Y podemos agregar el bosque al eje x, al eje y o al eje z. Entonces tenemos que decidir cuál de estos ejes es adelante y cuál es izquierda y derecha. De acuerdo, Bueno, sigamos adelante y la forma en que puedas, la forma en que podemos resolverlo es solo seguir adelante y crear un cubo, cualquiera que sea la forma que quieras crear y moverlo hacia arriba. Y puedes ver aquí el eje y que podemos usar para avanzar y retroceder, o podemos usar el eje x, así que depende de ti. Pero en realidad podemos usar este eje x. Ahora recuerda, el color rojo es el eje x. Se puede ver aquí a la derecha. Y podemos usar este eje x y podemos usar el eje y para movernos a izquierda y derecha. Tratemos de hacer eso. Entonces pasemos al controlador. Y dentro de aquí, puede hacer clic derecho y hacer clic en Dividir pin golpeado para ver el eje individual. O puedes arrastrarlo hacia fuera y escribir make vector. Y tú también puedes hacer eso. Yo sólo voy a hacer el vector y el eje X. Y esto es en realidad cuando tú, cuando presionas W y avanzas, esto realmente se va a mover a lo largo del eje. Entonces este es el mapeo de ejes que captamos temprano, creado antes. Bueno, sigamos adelante y moviéndonos hacia adelante y hacia atrás, pongámoslo a la x. bien, Entonces esto es porque aquí si inserté de nuevo, cualquiera que sea la forma, así que aplicarla a la x es en realidad así, así que se va a mover avanzar de esta manera. Entonces moviéndose en lo positivo y lo negativo, vamos a repasar y hablar con la x. Y vamos a compilar y guardar. Vamos a dar click, vamos a hacer clic en Jugar. Y no pasa nada cuando intentas hacer click. Y esto se debe a que aquí se puede ver realmente está volando por encima del suelo también. Y esto es un centavos que
tenemos, no tenemos ninguna física, probablemente
necesitemos simular la física. Entonces si hago clic en escape, realidad dice que aquí a la cerveza tiene que tener habilitada Simular Física. Entonces sigamos adelante y hagamos doble clic en este balón. Podemos hacer click en el balón aquí y aquí abajo tenemos algo llamado simular física. El torque es física y tenemos que aplicarlo. Compilemos y volvamos a hacer clic en Reproducir y ver qué pasa. Nos caeremos. Y cuando hago clic en W, no se mueve. En realidad está aquí. En realidad coloquemos un jugador empieza en algún lugar del mapa para que no empecemos en la parte superior. Así que adelante y haga clic en Crear. Y tienes algo llamado Inicio del jugador. Pon a este jugador empieza aquí, en
cualquier parte del mapa. Haga clic en Jugar. Y ahora estamos bajo tierra. Entonces si hago clic en W, no pasa nada. Y esto se debe a que la fuerza que estamos aplicando, el torque que estamos aplicando no es lo suficientemente fuerte. Y lo que queremos hacer es simplemente multiplicarnos. Ahora vamos a multiplicar el par multiplicado por este número y ver qué pasa. Y pongamos este resultado final dentro del vector. Entonces ahora estamos multiplicando la fuerza cuando ponemos W. Y ahora nos estamos moviendo y esto es almuerzo comido, tan raro. Y esto es porque la cámara está siguiendo el balón, ¿de acuerdo? Siguiendo el balón y no queremos hacer eso. Entonces vamos a hacer clic en la cabeza en el brazo de resorte. Y en primavera y tenemos que ir aquí a la cima. Y esta es la rotación, eso es lo que está causando el problema. Y en lugar de sentar la rotación tipo dos relativo, entonces ponerlo en mundo. De acuerdo, compilar y guardar. Y echemos un vistazo. También. Creo que nuestra, nuestra pelota se está moviendo en la dirección equivocada porque este es el eje x. Hemos puesto el par en el eje x, y este es el eje x. Entonces cuando presionamos W, en realidad se va a mover hacia un lado. Entonces en realidad va, tiene
que estar en la y y moverse hacia adelante y hacia atrás. Entonces déjame simplemente conectarlo aquí y solo ponerlo bajo por qué? Arreglo sencillo. Vamos a hacer clic en Jugar y ver qué pasa. Por lo que ahora funciona para que pueda avanzar y retroceder. Creo que el movimiento es demasiado rápido. Así que eliminemos 10 de aquí y compilemos y juguemos. Creo que es más razonable. Eso está bien. Ahora, ¿cuál es ese número? 123456, ceros, 1 millón aquí se puede poner, Vale, así que ahora esto está funcionando. Ahora tenemos que ir a la izquierda y a la derecha. Recuerda el evento que hicimos antes es mover a la derecha. Y tenemos que elegir este evento, no devaluar construir el evento. Copiemos y peguemos esto porque necesitamos la misma información. Entonces vamos a copiar pegar todo esto y también puedes copiar este par. Vamos a conectarlo. De acuerdo, entonces ahora tenemos la misma información. Y solo recuerdo copiar pegar si tienes lo mismo, no
necesitamos perder el tiempo en crear todas las mismas cosas de nuevo. Entonces aquí tenemos el valor del eje, y de nuevo, puedes simplemente multiplicarlo por el mismo número, moverlo un poco así. Y multiplicándolo. Y de esta manera necesitamos movernos a un lado. Entonces estos son en realidad los valores x. Esto se está moviendo hacia un lado. Entonces a la x y compilar, haga clic en Reproducir. Tratemos de voltear AW India, como puedes ver aquí ahora en realidad estás moviendo la dirección opuesta porque cuando presiono D, se mueve hacia la izquierda y nuestra empresa a, se mueve hacia la derecha y tiene que ser el opuesto a lo que es ahora mismo. Entonces para solucionar esto, ve a Editar y dentro de la configuración del proyecto, dentro de entrada. Y aquí cuando presionas ADN, estos realmente necesitan cambiarse. Entonces menos uno aquí y uno aquí. De acuerdo, así que juguemos, y ahora nos estamos moviendo correctamente. Entonces ahora puedo presionar a, W, D, y S, y puedo mover mi balón. Entonces este es el movimiento que hemos hecho hasta ahora. Y si hago click si 11 para ver a qué distancia estoy de la pantalla, solo
puedo hacer que sea una cámara un poco más lejos. Y entonces creo que ya terminé con este enlace ascendente la primavera. En lugar de 600, puedes llegar a 800, aunque el brazo de resorte está un poco más lejos, por lo que podemos ver un poco más. Y este es el resultado que tenemos hasta ahora, y estoy contento con ello. Está bien, Esto se ve genial. Entonces esto fue todo por el movimiento del jugador. Ahora tenemos una pelota y se puede mover. Y si necesitamos aumentar la velocidad, solo
puedes ir adelante dentro del controlador del jugador y ajustar este este número de multiplicación. Entonces hazlo más alto si quieres moverte más rápido. Entonces lo siguiente que queremos hacer es crear la moneda en el suelo. Entonces pasemos a la siguiente lección y creemos eso.
64. Crear el desplazamiento: De acuerdo, entonces ahora vamos a hacer el pergamino. Y en lugar de una moneda, en realidad
quiero hacer un pergamino. Creo que esto es un poco más interesante. Y lo que he encontrado también es este pergamino de aquí. Y bajo el 3D y sus renovables, tenemos este pergamino SM. Y esto también ha hecho para Kraft comprado. Creo que fue un poco más interesante. Hagamos pergaminos en lugar de monedas. Por lo que ahora tenemos que hacer estos pergaminos cargables. Y la forma en que hacemos esto es ir adelante y crear
un, un, un actor, un plano. Entonces haga clic derecho en los planos. Cree una clase de blueprint
y, a continuación, seleccione actor. Realmente no necesitamos movimiento ni nada. Entonces vamos a hacer un actor sencillo, llamarlo BP, desplazarse y hacer doble clic en él. Y dentro de aquí, en los componentes queremos añadir una malla estática. Entonces una malla simple y lo vamos a llamar scroll. Ahora debajo de aquí y bajo la medida estática en el panel Detalles, vamos a encontrar la escritura de pergamino, buscando scroll, mirándolo. O otra cosa es si lo tienes aquí en el Reino Unido o en el Navegador de contenido aquí abajo. Y también han tomado aquí y arrastrarlo encima de éste. Y éste es el BP, perdón. Por lo que tenemos que ir y bajo las energías renovables
3D y ASAM scroll y puedes arrastrarlo encima de él. De acuerdo, entonces ahora tenemos este pergamino. Y se puede ver aquí, si lo arrastramos hacia el mundo, ahora tenemos un pergamino y esto es genial. Entonces si hacemos clic en jugar no está buscando, y así ahora tenemos un pergamino, podemos saquear un problema con esto o no un problema, pero parece aburrido. Necesita un poco más de movimiento. Por ejemplo, flotando arriba y abajo. Y hagamos esto. Eliminemos el pergamino por ahora. Vuelva a los planos, haga doble clic en el desplazamiento de BP. Y dentro de aquí queremos hacer un código. También hacen algunos planos, quitan estos eventos aquí abajo. Hagamos el Begin Play. Y ahora quiero enseñarte sobre la línea de tiempo. Así que ve por aquí y escribe línea de tiempo. Y hay algo llamado Añadir línea de tiempo. Entonces, qué línea de tiempo es en realidad el marino él al principio, y sólo voy a llamarlo movimientos de desplazamiento. Entonces qué es una línea de tiempo, puedes hacer movimientos suaves con una línea de tiempo. Entonces, por ejemplo, puedes imaginar una puerta en el juego y la puerta se abre sin problemas. Esto se hace con una línea de tiempo. O si tienes ese sistema diurno y nocturno y el sol sale y luego hay algo de sol se pone. También haces esto sin problemas con una línea de tiempo. En este caso, queremos mover el desplazamiento hacia arriba y hacia abajo, arriba y abajo lentamente. Y esto también se hace con su línea de tiempo. Para que podamos hacer movimientos suaves o un bucle de movimientos intestinales con esto. Entonces aquí en el juego de inicio, en lugar de iniciarlo desde Play, Hagamos jugar desde el principio. Por lo que va a reproducir la animación desde el principio. Y antes de que hagamos algo, hagamos doble clic en esta línea de tiempo. Te metes en una gráfica como esta. Y aquí puedes agregar diferentes gráficas. Se puede añadir una pista de flotación. Entonces esta es la variable flotador, igual que si hicieras una variable aquí, este es un número con decimales. Se puede hacer un vector, se puede hacer una pista de eventos, y se puede hacer un camión de color. Por esto. Veamos qué necesitamos. ¿ Qué necesitamos aquí? Entonces lo que estamos tratando de hacer es que estamos tratando ajustar la ubicación de este pergamino por lo que estamos cambiando la ubicación. Por lo que empieza a temer, por ejemplo. Y queremos establecer la nueva ubicación para que esté aquí y luego aquí y luego aquí y así sucesivamente. Por lo que estamos tratando de ajustar la ubicación que intentó tomar esta malla de desplazamiento. Y aquí estamos. Estamos escribiendo ubicación. Y se puede ver algo llamado establecer ubicación relativa. Da click en este y engancharlo para actualizarlo. Por lo que queremos actualizar la ubicación del pergamino. De acuerdo, Entonces la nueva ubicación se va a enchufar aquí. Entonces nosotros en realidad, Whoops, voy a dejar eso otra vez. Por lo que en realidad necesito un vector. Por lo tanto, haga doble clic en esta línea de tiempo y queremos añadir una pista vectorial. Y debido a que esta es la entrada que queremos agregar, ahora dale un nombre. Démosle un nombre. Movimiento u otros, o ubicación alfa, ubicación alfa. Pero este va a ser el movimiento suave. Y este nombre también va a aparecer por aquí. Entonces éste en realidad va a estar enchufado aquí. De acuerdo, entonces antes de que hagamos algo, hagamos doble clic en esta línea de tiempo. Y aquí tenemos la x, y, y z. Así que haga clic derecho y haga clic en Agregar clave a todas las curvas. Añadamos dos claves más. Ahora. Aquí se puede ver que si arrastro esto, este es el eje x, este es el eje y, y este es el eje z porque este es un vector. Recuerda que tenemos tres números en un vector. Déjame controlar, Control Z para deshacer todos estos movimientos. Entonces que estén aquí. Módulo marque todos ellos, selecciónelos todos y haga 0 y el tiempo aquí arriba. Y para el último. Aquí puedes elegir que la longitud de la línea de tiempo, quiero que sean tres segundos. Por lo que todo el movimiento va a ser de tres segundos y luego va a ir en bucle otra vez. Aquí quiero seleccionar los últimos puntos y hacer tres. Aquí es tiempo tres segundos, y el valor es 0. Entonces ahora está aquí. Y éste necesita estar en el medio porque va a dar un bucle hacia arriba y hacia abajo. Y luego va a seguir dando vueltas a este movimiento. Voy a poner 1.5, así que está en el medio. Y déjame tratar de hacer esto. Tienes que probar esto. Creo que 20 tú la última vez que lo hice, 20 fue el número perfecto, pero vamos a tratar de ver tienes que probarlo. Y para poder ver toda la gráfica, hay
que hacer clic en estos dos botones. Por lo tanto Zoom Para Ajustar horizontal y verticalmente. Entonces ahora tienes esto. Volvamos al Gráfico de Eventos. Y tenemos esto enganchado para actualizar. Y vamos a enganchar la ubicación Alpha, compilar y hacer clic en Play y ver qué pasa. Y se puede ver ahora en realidad se está moviendo. No se movió hacia arriba sino hacia todos los sitios. Y la razón es que en realidad no queremos,
para afectar toda la ubicación. Trató de romperlo y hacer y hacer vector. Y sólo queremos afectar a la z, por lo que arriba y abajo. Y también con esto, podemos hacer break vector y en realidad podemos engancharlo en la z. Y los otros queremos ser 000. Eso está bien. Justo así. Y con el fin de enderezarlos, puedes sostener y dar click q. Ok, entonces ahora tenemos esto, y vamos a compilar click Play y ver qué pasa. Ahora se mueve arriba y abajo. Entonces esto se ve correcto, pero no es bucle. Y esto se debe a que hay que hacer doble clic en la línea de tiempo. Y aquí arriba en la parte superior tienes algo llamado loop. Y también podemos usar el último fotograma clave. Se compilará, dar click en Guardar, dar click en Play, y ver qué pasa si lo hago a pantalla completa. Ahora se mueve arriba y abajo. Puede hacerlo un poco, hacerlo un poco más suave. Si alejas aquí, seleccionas todos los puntos y puedes hacer clic derecho y hacer auto aquí. Ahora está haciendo este movimiento suave a nuestra gráfica. Y creo que queremos hacer esto un poco más grande
porque realmente no se está moviendo tanto arriba y abajo. Entonces quizá 40. Déjame intentarlo por ti. Haga clic en Jugar. Y ahora se ve mucho mejor, pero necesita ser más suave cuando termine. Entonces por aquí queremos esforzarnos por que
esto sea un poco más suave, así. Compilando click Jugar y ver qué pasa. De acuerdo, entonces ahora se ve genial. Y ahora cuando entro en él, ahora mismo está demasiado arriba en el cielo, así que vamos a moverlo hacia abajo en realidad, así. Haga clic en jugar. Y luego cuando me mudo a él puedes ver que en realidad me está bloqueando. Queremos que necesitamos quitar la colisión
del pergamino porque no lo necesitamos para alejarnos. Haga doble clic aquí y la malla estática, bajamos a colisión y eliminamos la colisión. Entonces yo simplemente no haría colisión. De acuerdo, entonces ahora en realidad podemos simplemente movernos dentro del pergamino sin hacer nada. Por lo que el siguiente paso que queremos hacer es en realidad hacerla cargable. Lo hicimos ahora es crear esta línea de tiempo. Y la línea de tiempo se juega desde el inicio. Estamos actualizando esta animación, la nueva ubicación para este pergamino. Y en la siguiente lección, hagamos realmente loable este pergamino.
65. Hacer que el Scroll: Entonces ahora es el momento de hacer que este pergamino sea duradero. Entonces, lo que queremos hacer es cuando el jugador entre en el pergamino, lo
vamos a hacer desaparecer. Y la pleura consigue algún tipo de puntos o puntos por saquear el pergamino. Entonces vamos a repasar y pinchemos en el pergamino. Y lo que queremos hacer primero, uno, el jugador entra en el pergamino, algo tiene que pasar. Y para esta falsificación, en realidad
necesitamos agregar una caja de gatillo o una caja de colisión. Y necesitamos agregar un evento desencadenante. Bueno, vamos a añadir ya sea una esfera o una caja. Y añadamos una colisión de esfera para ésta. Déjame hacerlo más grande aquí en el radio de la esfera. Entonces así como esto, en realidad sólo quiero alejarlo y ver cómo se ve en el mundo. Y para que esto suceda, necesitamos hacer clic en esto oculto en el juego. Tenemos que quitarlo. Y ya veremos cómo se ve. Se ve así. Y probémoslo quizá un poco más pequeño. Hagamos 100 o 120 y veamos cómo se ve. Entonces ahora tenemos esta esfera. Y lo que queremos hacer es dentro del gráfico de eventos, queremos dar click en la esfera y en la parte inferior
tenemos algo llamado en componente comenzar superposición. Entonces, ¿qué pasa cuando se superpone con esta caja de colisión esfera? ¿ De acuerdo? Lo que queremos simplemente que suceda es simplemente hacerlo desaparecer para que el jugador lo haya saqueado. Y esto es muy sencillo. Esto es sólo el Actor Destruye. ¿ Y qué actor quieres destruir? En realidad quiero destruirme yo porque estamos dentro de scroll de BP. Y así auto como el objetivo es correcto. Pero sólo quiero que el jugador colisione con este pergamino. Entonces recuerda, y si tienes varios enemigos en el nivel y el enemigo entra en esta caja, no
queremos que este bicho o este pergamino desaparezca. Sólo queremos que desaparezca si el jugador entra en él. Entonces de esa manera, lo que hemos aprendido antes en el otro actor, este es el actor que se está superponiendo al pergamino. Podemos decir que el actor tiene etiqueta. Y ahora podemos asignar una etiqueta al jugador. Entonces si volvemos a este balón de BP, si hacemos doble clic en él y escribes etiqueta aquí arriba. Entonces ahora tenemos esta etiqueta de actor. Demos click en el plus. Y aquí podemos escribir capa. Y ahora le hemos dado este balón VP, el jugador de etiquetas. Y ahora aquí en el pergamino de BP y empiezan a solaparse, vamos a decir, ¿el actor tiene el tag player? Si eso es correcto, así que haz un bucles de rama. Entonces hazlo, si eso es cierto, entonces destruye al actor. Si el actor no tiene al jugador de etiquetas, por ejemplo, a los enemigos, entonces no haga nada. Adelante y haga clic en Jugar y veamos qué pasa. Entonces si entramos en el pergamino, se supone que está destruido. Y al hacerlo, así funciona el código de trabajo y esto está funcionando perfectamente. Entonces ahora lo que queremos hacer es cada vez que entras en el pergamino, queremos sumar puntos. Y hagamos los puntos dentro del modo de juego. Este es el que controla la anotación. Por lo que tiene más sentido hacerlo aquí. Bueno, vamos aquí y hagamos un evento personalizado, y llamémoslo agregar scroll. Y scroll se va a sumar puntos. Entonces aquí en las variables queremos hacer una nueva variable y queremos llamarla contador de desplazamiento. Por lo que va a sumar más uno cada vez que aludimos scroll. Entonces lo que queremos hacer es sacarlo de aquí. No soy un conjunto, solo toma una salida y haz un plus, plus. Y de esta manera, queremos sumar una puntuación cada vez que miramos esto, el pergamino. Pero puedes hacer es o crear este evento personalizado así como este, o puedes usar la Interfaz de Blueprint. Y ya que quiero darte un ejercicio en Interfaces de Blueprint porque es tan importante entender. Tratemos de crear esto en una Interfaz de Blueprint en su lugar. Por lo que queremos crear una Interfaz de Blueprint para el modo de juego. Así que sigamos adelante, entramos al sitio de las interfaces, calificamos una Interfaz de Blueprint, lo
llamemos int Game Mode, y haga doble clic en ella. Y aquí necesitamos agregar una función o un evento, lo siento, llamado desplazamiento AD. Entonces vamos a borrar este, compilar guardar. Dentro del modo de juego, llamémoslo scroll. Y dentro de aquí, veamos como me desplaza, esto está bien. De acuerdo, Así que vamos aquí dentro de la configuración de la clase. Y en las interfaces, vamos a añadir el int Game Mode, que se añadieron. Y ahora podemos ver este evento. Y si solo hago clic derecho y derecho en pergamino. Oops, éste no. Necesitamos el evento. Entonces aquí tenemos algo llamado mensaje, y tenemos este poste de borde, que es el evento. Y se puede ver esto en realidad no se está agregando porque tenemos que compilar y guardar, compilar, guardar, archivar, guardar, y ahora podemos agregarlo. Ahora este es el, no quiero editar este video fuera porque en realidad quiero mostrarte los errores para que pueda aprender. Porque ahora puedo ver en el ventrículo y tú puedes hacerlo. Entonces recuerda compilar y guardar esto es muy importante. También un buen truco que te puedo mostrar es aquí los tres puntos al lado de la compilación. Puedes hacer clic en ellos. Y aquí en guardar y compilar, se
puede hacer clic sin éxito solamente. Por lo que cada vez que hacemos clic en Compilar y
es exitoso, lo va a guardar automáticamente. No necesitamos hacer clic en Compilar y guardar todo el tiempo. De acuerdo, Así que enganchemos este modo de juego. Entonces ahora cada vez que perdemos un pergamino, necesitamos decir plus, plus. Entonces este evento personalizado que hicimos aquí, necesitamos llamarlo aquí en la superposición de inicio. Porque cada vez que nos adentramos en esto, esto es cierto. Nosotros queremos, queremos sumar uno a este mostrador y luego queremos destruir al actor. De acuerdo, entonces necesitamos una forma de llamar a esto, esta Interfaz de Blueprint del evento. Y la forma en que hacemos esto es que necesitamos decir y conseguir el Modo Juego. Porque esto está dentro del modo de juego. Y luego necesitamos una referencia al esquema. Entonces tenemos que hacer esto también. Por lo que dentro de la interfaz, adelante y haz otra función y llámalo SET modo de juego ref. Y dentro de las salidas, podemos elegir la variable como GM, como la llamamos, GM, ese colector. Y selecciona esa. Es el mismo nombre que este modo de juego. Esto es a lo que estás tratando de referirte. Bueno, volvamos a la interfaz y aquí podemos llamarlo cargas de juegos. De acuerdo, Así que volviendo a este modo de juego, podemos hacer doble clic en esta función. Y aquí podemos escribir yo mismo, porque ahora estamos referenciando a este modo de juego como yo, y ahora sabe que es este modo de juego. Y ahora podemos volver al scroll de BP. Y a partir de este get Game Mode, podemos decir que k mode ref, y es el mensaje que es de la interfaz. Y ahora llamamos a este conjunto Modo Juego ref. Y ahora tenemos este modo de juego. Y a partir de este modo
de juego, lo que queremos es llamar a este evento llamado add Scroll, ir aquí, escribir y desplazarse. Y este es un mensaje porque esto es de la interfaz. Y vamos a engancharlo con lo destruido. Entonces cada vez que nos solapemos con el pergamino, vamos a agregar uno al pergamino. Y entonces vamos a hacer otra cosa, lo que sea que queramos hacer. Entonces ya que no hemos aprendido sobre las interfaces de usuario, y en realidad quiero mantener esto alejado de este curso. Quiero hacer un curso completo de interfaz de usuario. Entonces aquí vamos a utilizar en realidad sólo una cadena de impresión. Y solo di, siento que es, usemos un
formato por ahora, formatear texto y digamos que
has cargado, habrás saqueado y necesitamos un número. En lo que va de momento. Entonces ahora se va a pergaminar. En lo que va de momento. Yo iba a decir que has cargado, por ejemplo, cinco pergaminos hasta ahora. Y tenemos que llevar este contador a este texto de formato. Y necesitamos imprimir cadena, que podemos engancharla así como así y engancharlo todo. Y ahora se va a imprimir que han saqueado y la cantidad de pergaminos hasta el momento. De acuerdo, así que intentemos poner más pergamino. Entonces voy a sostener Alt y duplicar este óvalo de tiempos. Entonces así como esto, jugamos y vemos qué pasa. Te vas dentro de esto, has cargado un pergamino hasta ahora. Nos desplazaremos hasta ahora. Hay cotización hasta el momento. De acuerdo, entonces ahora está funcionando como queríamos. Y solo por unos pequeños ajustes, quiero ir en la ventanilla. Vamos a reducir un poco el tamaño de éste, y sólo vamos a seguir adelante y reducir esta esfera a algo así. Vamos a compilar y hacer clic en Jugar y ver si esto está funcionando bien. Por lo que ahora podemos cargar los pergaminos. Y siempre puedes hacerlos más interesantes haciéndolos desaparecer con una animación. Y en realidad puedes usarlo esa línea de tiempo para tal vez afectar el tamaño del pergamino. Entonces tal vez se hacen más pequeños cuando los cargas. Y puede usar una línea de tiempo para desvanecer el pergamino. Pero vamos a mantenerlo simple por ahora. Esto se ve genial. Hagamos doble clic y volvamos a hacer clic en esta esfera. Bajemos y golpeemos oculto en el juego, así que no lo vemos en el juego. Y ahora está funcionando. Ahora puedo saltarme y
saquear los pergaminos como queramos y se va a imprimir cuántos pergaminos hemos cargado. Entonces, antes de terminar el video, realmente
juguemos algunos de esos pergaminos por ahí. Voy a añadir, llevemos el jugador arranca. Voy a rotarlo para que empiece esta dirección. Yo lo voy a mover hacia atrás para que la cerveza empiece aquí. Y agreguemos algún pergamino. Entonces quiero agregar uno aquí, y sumemos uno aquí. Vamos a ponerlos por todos lados. Al igual que esto. De acuerdo, entonces ahora tenemos un par de pergaminos y el nivel parece completo. Ya podemos dar la vuelta y vamos a pergaminos. Y lo siguiente que queremos hacer es en realidad cuando cargamos los pergaminos, queremos seguir adelante y terminar aquí. Y se puede ver aquí realmente no podemos movernos en la plataforma. Por lo que la siguiente lección es sobre esta plataforma. Intentemos que funcione.
66. Configuración de la plataforma: De acuerdo, entonces ahora es el momento de trabajar en esta plataforma. Lo que queremos hacer es cuando el jugador ruede sobre esta plataforma, llevará al jugador a la pantalla ganadora. Y por lo tanto necesitamos algún tipo de error desencadenante. Entonces esta plataforma, por lo que necesitamos convertir esto en una, una clase de blueprint. Entonces sigamos adelante y entramos en planos. Haga clic derecho en Clase de Blueprint. Y vamos a crear otro actor. Y llamemos a esta plataforma de BP. Y dentro de aquí, vamos a hacer, vamos a añadir una malla estática. Y llamemos a esta plataforma única. Encima en esta Malla Estática, busquemos la plataforma. Y no se llama plataforma, no
recuerdo cómo se llama. Entonces en el 3D, bajo plataformas, en realidad no una plataforma en las botellas. Se llama vía. Simplemente lo llamamos plataforma y busquemos vía. Y es éste. De acuerdo, Así que ahora está dentro de aquí, y vamos a seguir adelante y agregarle un gatillo bugs. Y éste va a ser un detonante. Cápsula es una buena ya que la esfera también podría ser utilizable, uh, bichos. Tratemos de agregar una cápsula a ésta. Ups. Creo que hago clic en Control Z. Déjame volver a agregar la cápsula. Y quiero hacerlo más grande, así como esto. Y queremos agregarla en algún lugar así. En algún lugar hasta aquí. Y esta altura está bien. Está bien, Esto se ve bien. Entonces queremos esta cápsula y vamos a compilar y guardar y otra vez en el Gráfico de Eventos, Vamos a eliminar todo esto. Y lo que queremos hacer igual antes de dar click en la cápsula, bajar al fondo. Y aquí en componente comienzan solapamiento. Tenemos que hacer algunos eventos. Entonces hagámoslo en la siguiente lección. Pero antes de que terminemos, quiero mostrarles algo. Si haces clic en play y te mueves con este espíritu que hicimos antes, y te mueves encima de esta plataforma, te estás bloqueando, ¿de acuerdo? Te están bloqueando y realmente no puedes subir esta plataforma. Esto se debe a que tiene algo que ver con la colisión de la plataforma. Entonces si haces click en la plataforma y hacemos click en este botón de navegación, esta lupa. Esto nos llevará a la plataforma aquí en el Navegador de contenidos. Y puedes hacer doble clic en esta plataforma. Y ahora estamos aquí en este espectador y esta plataforma. Y lo que quiero hacer es dar click en Mostrar y luego ir a la simple colisión. Esto es lo que está usando ahora mismo. Se puede ver esta simple colisión está impidiendo subamos esta plataforma que nos está bloqueando. Entonces la colisión no es demasiado buena, pero tenemos que hacer es cambiarla en la colisión compleja. En realidad es así. Y no quieres hacer esto con todas las modelos del juego. Esto será muy costoso. Solo quieres hacerlo cuando sea necesario, igual que en este caso, por ejemplo. Y todos los demás componentes de tu juego que pueden tener la simple colisión, pueden tener las colisiones simples para el primer caso, usemos esta compleja colisión. Y ahora mismo sólo estamos mostrando, así que no estamos aplicando. Entonces aquí a la derecha, baja
a colisión. Y aquí dentro se puede ver algo llamado complejidad de colisión. Y la necesidad de cambiar el predeterminado del proyecto para usar complejo, uso concreto simple como complejo. Ahora usa la colisión compleja como simple. Ahora estamos usando la compleja colisión. Haga clic en guardar, compilar guardar. Demos click en Play y veamos qué pasa. Entonces, ¿por qué se proyectará y se moverá? Y necesito, necesito un poco de velocidad ahora en realidad se puede subir a la plataforma. Vi que nos acercamos, pero ahora podemos subir a la plataforma. Pero necesitamos la velocidad del balón para poder dispararnos subiendo las escaleras. Y ahora puedes ver que en realidad estamos arriba en la plataforma. Y ahora funciona. Ahora en realidad podemos subir a la plataforma. Entonces sigamos adelante en la siguiente lección y en realidad codificar la lógica de lo que sucede cuando ganas el juego.
67. Cambiar los niveles de cambio: De acuerdo, entonces ahora que hemos agregado la cápsula y configurado la plataforma, realidad
queremos que el nivel cambie cada vez que el jugador golpee este disparador de cápsula en la plataforma. Ahora mismo antes de que hagamos algo, eliminemos esta plataforma. Y porque esta es la malla estática que teníamos antes, y vamos a tirar sobre esta plataforma de BP que hicimos. Y esto es porque tenemos este gatillo,
un gatillo de cápsula sobre él. Y hagamos doble clic aquí. Y otra vez en la superposición de inicio para esta cápsula, queremos hacer de nivel abierto. Es así como cambiamos los niveles. Por lo que abrimos este nivel queremos abrir. Y lo que queremos abrir dentro de los mapas, éste se llama el mapa y hay que escribirlo exactamente como se llama Matt end así. Y sólo queremos que los jugadores afecten a este gatillo. Por lo que no queremos que los enemigos vayan al siguiente nivel. Por lo que aquí podemos escribir actor ha etiquetado y cambiando el mapa o escribiendo el tag player. Entonces si el actor tiene al tocadiscos, entonces adelante y cámbialos. Si no está etiquetado Player, entonces no hagas nada. Entonces esto es generalmente así. Entonces vamos a compilar y hacer clic en Play. Y vayamos a la plataforma y veamos qué pasa. Y cambia el nivel efectivamente. Entonces volvamos atrás. Y ahora nos llegan muchos errores que podemos arreglar el exceso ninguno
tratando de leer ese balón ref. Está bien. Entonces se trata de hablar Volvamos al coleccionista de planos aquí. Y lo cool en realidad, puedes hacer click en las flechas y te lleva al Plano. Entonces está tratando de decir tratando de leer este dicho balón ref, pero nada. No hay nada que pueda leer. Y esto se debe a que el peón jugador aún no se engendra. Cuando esto no se engendró todavía,
¿cómo, cómo sabe que éste es? Entonces esto es algo que podemos arreglar y aquí realmente podemos hacer una macro es válida. De acuerdo, Entonces esta macro es válida. Si es válido, entonces haz esto. Si no lo es. De hecho tiremos esto hacia abajo para que tengamos más espacio. No lo es, entonces retrasarlo, digamos 0.2 segundos, eso está bien. De acuerdo, Entonces si no es válido, retrasado en 0.2 segundos cuando esté completo, adelante y corra. Esto es válido de nuevo hasta que intentamos que sea válido para seguir adelante y seguir adelante. De acuerdo, bueno, hagamos lo mismo aquí. Vamos a copiar esto, mover esto, y pegarlo. Entonces ahora es así como se hace un get validado. Entonces, ¿es válido? ¿ Es válido un jugador nacido? Esto es lo que estamos tratando de preguntar porque si no es válido, realmente no puede hacer éste. Y te va a dar errores, y no necesitamos eso. De acuerdo, así que intentemos ejecutarlo con este código. Vamos a hacer clic en Jugar. Y pasemos a la plataforma. A lo mejor debería acercarme más. Y se mueve hacia arriba. Y cuando hacemos clic en Escape y no obtenemos errores porque ya lo arreglamos. De acuerdo, entonces, ¿qué queremos hacer dentro del nuevo nivel? Pasemos a mapas, vamos a Mapa final. Y lo que queremos aquí es que
hagamos, pongamos una cámara. Por lo que queremos armar una cámara. Una vez que hayas configurado su vista con esta cámara, puedes seguir adelante y dar click en la parte superior de este botón de la ventana gráfica. Y puedes hacer click en Crear cámara aquí y luego seleccionar al actor de cámara. Y cuando haces esto, puedes ver que se crea una cámara donde estás viendo actualmente. ahora puedas moverte con la ventanilla. Y cuando pones G para ver los iconos, puedes ver que hemos creado una cámara hacia adelante dondequiera que estemos buscando, intentamos mirar algún lugar y luego dar click en este y la cámara. Pero ahora hemos agarrado la cámara y ésta en realidad es la vieja. Yo quiero borrarlo. Pero ahora tenemos esta cámara y queremos cambiar
a esta vista cada vez que entramos al parabrisas. Y la forma en que hacemos esto antes de terminar el video, Sigamos adelante y hagamos esto. A éste se le llama actor de cámara. Entonces sigamos adelante y terminemos el Plano de Nivel. Abre el nivel y recuerda, lo que sea que codificemos en el Plano de Nivel es específico para ese nivel. Y aquí podemos usar la jugada de inicio. Y dentro de este inicio de juego, tenemos algo llamado que mira objetivos con la mezcla. Y vamos a eliminar este objetivo de tercera vista sensible al contexto con la mezcla y puede tener esta función. Entonces vamos a poner la cámara a ésta cada vez que cambiamos al lábil. Por lo que el objetivo es el controlador del jugador. Y lo puedes ver aquí. Aquí arriba, el objetivo es el controlador de jugador. Por lo que sólo tienes que arrastrar fuera del objetivo y a la derecha conseguir controlador marcado. Vamos a ponernos de nuevo el sensible al contexto y a cargar el controlador del jugador. Y el objetivo New View es la cámara. Entonces al igual que en esta cámara, sube nuevamente al Plano de Nivel, haz clic derecho y crea una referencia a esta cámara y que se acercan al nuevo objetivo de vista. Ahora tenemos este objetivo de vista. Vamos a compilar y volvamos a ver si funciona. Y lo que quiero hacer. Por lo que no muevo esto por error. Normalmente me gusta hacer clic derecho ir a transformar y usar la suerte, el acto y el movimiento. De acuerdo, vamos a guardar todo. Volvamos al mapa del inframundo. Vamos a hacer clic en Jugar. Y vamos a movernos. Estamos cargando pergaminos íbamos a la plataforma y hemos cambiado su nivel a la única pantalla. Y se puede ver que en realidad estamos en así que el parabrisas. Y no puedo mover el ratón ni mover el WASD. Y esto se ve realmente genial. Entonces ahora podemos crear lo que queramos dentro de aquí.
68. Trofeos de Reward: De acuerdo, entonces ahora que hemos configurado la pantalla de viento, Vamos adelante y trabajemos en los trofeos. Dile que la idea principal es dependiendo de cuántos pergaminos haya cargado el jugador, queremos o bien recompensarlos con el trofeo Bronx,
el trofeo de plata, o el trofeo de oro. Entonces sigamos adelante y hagamos esto de una manera sencilla. Tenemos una plataforma aquí. Vamos a colocarlo en el nivel del viento. Recuerda ahora mismo estamos dentro de ahí, el mapa termina. Y vamos a rotar este. Subirlo un poco. Coloquemos los trofeos encima de aquí. Entonces al pasar por las recompensas y colocarlo por aquí, probablemente
debería haber aplicado chasquear lo que es esto. De acuerdo, sólo podemos tratar de hacerlo lo mejor posible. Muévete en el medio. Después el trofeo de oro. Y esto está bien por ahora. De acuerdo, así que quiero que todos sean invisibles cuando comiencen. Entonces aquí a la derecha y el panel Detalles, tienes que desplazarte hacia abajo y verás algo llamado visible. Por lo que quiero desmarcar lo visible y quiero hacerlos visibles a través del código. Entonces en este momento todo no es visible, sólo esta plataforma. Y quiero hacer visible una de ellas dependiendo de cuántos proveedores de scroll haya cargado. Y la forma en que podemos hacer esto es en realidad usando una enumeración. Y antes de que hagamos eso, pasemos al Plano de Nivel. Y realmente hagamos referencia a todos estos trofeos que están dentro del nivel. Entonces ve aquí en el Mundo, Outliner y busca trofeo. Y estos son los tres trofeos y nuestro nivel. Volvamos al Planeador de Nivel. Yo sólo lo voy a hacer más pequeño. Haga clic en el primer estrofo, haga clic derecho y cree una referencia al mismo. Lo mismo con los demás. Haga clic en ellos con la referencia. Ahora tenemos una referencia al trofeo de bronce, al trofeo plata, y al trofeo de oro. Y lo que queremos hacer a través de los planos es en realidad aquí en el panel Detalles. Queremos afectar esta visibilidad porque queremos
encenderla dependiendo si tienes plata, oro, o Bronx. Por lo que aquí en el Plano de Nivel, si arrastras hacia fuera desde la referencia, puedes escribir visible y puedes ver aquí establecer divisibilidad. Entonces ahora realmente estás afectando esta visibilidad. Por lo que ahora crea un componente de malla estática para ti. Y podemos establecer la nueva visibilidad a verdadera para que sea visible. Y vamos a copiar esto aquí y pegarlo dos veces. Y voy a enganchar el trofeo de plata y oro. De acuerdo, entonces ahora tenemos estas tres visibilidades y lo que queremos hacer es crear una enumeración. Y recuerda que antes usábamos switch on enumeración, dependiendo de cuál sea el valor de la enumeración, queremos reproducir ese código específico. Entonces sigamos adelante y creemos una enumeración dentro de la carpeta Blueprints. Hagamos clic con el botón derecho del ratón carga nueva carpeta llamada enumeración. Y dentro de aquí, Vamos a hacer clic derecho. Ir a planos y enumeración. Llámenlo E copaga. Y hagamos doble clic en él. Y esto, recuerda la enumeración es solo una lista de artículos y en realidad una lista de cualquier cosa. Entonces da click en Nuevo tres veces. Llamemos a esto bronce. El otro de plata, y el último de oro. Está bien. ¿ Y cuándo queremos establecer esta enumeración? Porque en algún momento tenemos que poner F, es plata, oro o bronce. Y podemos, en realidad, si volvemos al mapa al inframundo. Y este es el pergamino que hicimos. Si hacemos doble clic en el pergamino, puedes ver aquí que cada vez que nos solapamos con el pergamino, tenemos algunos eventos. Agregamos el pergamino. Y esto agrega rol es del modo de juego. Para que podamos abrir el Modo Juego. Y dentro de aquí, así que en realidad podríamos ponerlo aquí. Entonces cada vez que tocamos un pergamino, vamos a establecer la enumeración. Por ejemplo, lo ponemos en plata o lo que sea. Pero realmente no queremos hacer eso. Porque, ¿por qué pondríamos el trofeo de oro, plata o bronce cada vez que le pegábamos a uno de estos pergaminos. Esto no es bueno para la optimización. Nosotros sólo queremos hacerlo. Siempre que golpeemos
esto, esta plataforma, entonces se va a revisar cuántos pergaminos has saqueado. Y dependiendo de cuántos pergaminos hayas cargado, te
va a dar uno de los trofeos. Entonces sigamos adelante. Dentro del modo de juego, y vamos a crear un nuevo evento llamado set trofeo tipo. Y quiero hacer esto a través de la interfaz. Así que ve a las interfaces, abre el modo de juego y haz una nueva función llamada set rho V type. Vamos a compilar y guardar. Vuelve al modo de juego, verdad, Set Role V-type, ¿quién es el evento? Y qué esto, queremos tomar el contador de pergaminos y colocarlo aquí abajo. Y ahora, si la cultura de desplazamiento
es, es menor o igual a 2 pergaminos, si eso es cierto, entonces queremos establecer la enumeración. Por lo que ahora necesitamos una variable para la enumeración. Ahora podríamos seguir adelante y hacer una nueva variable aquí y decir, ponerla a nuestros trofeos E y usar esto y ponerla en bronce, plata, u oro. Pero el problema aquí es que en realidad estamos cambiando los niveles. Entonces cuando tu pelota está golpeando esta plataforma aquí, en realidad
estamos cambiando el nivel. Y cuando cambies el nivel, las variables d dentro del modo de juego se van a restablecer porque realmente estás cambiando el nivel y tiene sentido restablecer las variables. Por lo que la única clase de Blueprint que no lo está haciendo se llama la Instancia de Juego. Por lo que volviendo a los planos, puede hacer clic derecho aquí, leer una clase de blueprint. Y dentro de aquí, Vamos a dar click en todas las clases porque no lo puedes ver aquí. Mira todas las clases y busca Instancia de Juego. Y se puede ver aquí hay algo, algo llamado Instancia de Juego. Así que como éste. Y llamemos al GI para Game Instance y lo llamemos el coleccionista. Entonces un juego y postura es solo una instancia que corre todo el tiempo. También se usa mucho en juegos multijugador porque a pesar de que estás deja el servidor, la instancia no se elimina. Entonces cuando cambiemos los niveles y tengamos variables dentro de esta instancia de juego, estas variables no cambiarán, se
mantendrán igual, lo que sea que les dijimos. Por lo que al cambiar niveles, no perdemos datos para estas instancias de juego que se ejecutan todo el tiempo. Por lo que dentro de esta instancia de juego, queremos crear una nueva variable y puedes llamarla trofeos. No queremos que esta variable sea eliminada cuando cambiemos de niveles. Y aquí puedes encontrar e trofeos. Esta es la lista de enumeración que hicimos. De acuerdo, entonces ahora tenemos esta instancia de juego. Y para que esta instancia de juego funcione, tenemos que ir dentro del editor de edición o de la Configuración del proyecto. Y aquí dentro de los mapas y modos, tenemos algo llamado instancia de juego aquí abajo. Y tenemos que cambiar esta instancia de juego a cobrador de deudas GI. Esta es nuestra instancia de juego personalizada. Entonces ahora debería funcionar. Bueno, volvamos a nuestro modo de juego. Y aquí dentro, cuando tenemos menos o que son menos pergaminos recolectados, queremos poner la tapa, esta operación aquí. Queremos poner a bronce la enumeración dentro de la instancia de juego, ¿de acuerdo? Y aquí podemos escribir get game instance y tenemos que hacer una referencia para la instancia del juego. Entonces hagamos una interfaz. Para nuestra instancia de juego. A Blueprint Interface, instancia de juego final. Entra dentro de aquí. Pero una nueva función llamada ganancia de conjunto y ref instantánea. Hacer una salida. Comprando tu instancia de juego. Ei cobradores de deuda a ella como un objeto de referencia y lo llaman ganancia en tenencias. De acuerdo, vamos a compilar y guardar. Y volvamos a la instancia de juego. Bueno, vamos a encontrarlo y rasgar. Y dentro de aquí, Vamos a la configuración. Añadamos nuestra interfaz. Entonces instancia de juego int. Vamos a compilar y guardar. Haga doble clic en la función tierra y superficie que hicimos. Y aquí podemos escribirnos por sí mismos. Y ahora estamos podemos hacer referencia a esta instancia de juego. Guardémoslo todo. Ahora de vuelta en el modo de juego, nos dieron la instancia de juego, y ahora podemos ver juego SET. Dicha instancia de juego áspera, no, no el juego, la instancia de juego. Y como instancia de juego, queremos usar esta variable de trofeos. Entonces aquí podemos decir que los conjuntos son todos honorarios. Por lo que queremos poner los trofeos y queremos ponerle eso a brunch. Está bien. Entonces ahora ¿qué tienes dos o menos pergaminos? Vamos a conseguir el trofeo de bronce. Por lo que estamos poniendo el genoma a las marcas. Y si es falso, hagámoslo aquí. Digamos que si tienes, si tienes mayores de dos roles. Y podemos escribir algo llamado fin. Y esto es algo para los booleanos. Y podemos comprobar algo más. Y tienes menos o igual a cinco que se pone en cuclillas. Entonces si tienes ya sea 34 o cinco pergaminos, si esto es cierto, entonces esto se va a enganchar a falso. Entonces si tienes más de dos, Se va a bajar a falso y luego se va a revisar por estos dos. Entonces si tienes mayor de dos roles, pero menor o igual a cinco, vamos a establecer el valor de enumeración en plata. Consigue de nuevo la instancia de juego. Y lo vamos a poner en plata ahora. Entonces en lugar de conseguir la instancia de juego todo el tiempo, esto se va a poner desordenado. Hagamos realmente una variable a partir de esto primero. Por lo que dentro del inicio de juego en el modo de juego, La Meca, comienza el juego. Y aquí decimos git game instance, referencia a esta fase de sensor. Y hagamos clic derecho en esto y digamos promueve una variable y llamemos a esta instancia de juego. Ahora tenemos una variable, una referencia a la instancia de juego. Por lo que ahora realmente podemos eliminar esto. Y a través de esta instancia de juego, sólo
podemos decir trofeos. Y ahora puede fijar los trofeos. Y ahora se va a ver mucho más limpio. En lugar de hacer este código, solo
puedes sacar la Instancia de Canvas y decir esto. En realidad, sí, en realidad sólo quiero hacerlo de forma individual. Entonces digamos establecer trofeos. Y pongámoslo a la verdad y llamemos a éste plata. Y si tienes más de cinco pergaminos, vas a conseguir oro. Podemos sacar de esto otra vez y decir trofeos. Y digamos oro. Al igual que esto. También podríamos haberla enganchado aquí y borrar éste. No sé si va a parecer desordenado. Eso está bien. Podemos hacerlo así. Justo así. Entonces ahora lo va a poner en bronce, plata, u oro, dependiendo de cuántos pergaminos haya cargado. De acuerdo, entonces ahora esto se ve bien. Y lo siguiente que queremos hacer es realmente usar esta enumeración. Y dentro del Plano de Nivel aquí. En este mapa final. Queremos hacer encendido enumeración para lanzar uno de estos códigos. Entonces sigamos adelante y digamos Obtener incidencia de juego. Y a partir de aquí establece instancia de juego conectivos ásperos. Y aquí en la instancia de juego queremos conseguir la variable trofeos. Y este estrofo es variable. Queremos decir interruptor de enumeración. Por lo que queremos poner ese código dependiendo de qué tipo de trofeo se le haya fijado. Por ejemplo, si obtenemos plata, va a hacer visible el trofeo de plata mientras ignora las otras dos líneas de códigos. De acuerdo, Entonces esto se ve bien. Y no creo que llamáramos a este evento tipo trofeo de set en ninguna parte. Entonces, en realidad sigamos adelante y lo llamemos aquí en la plataforma. Por lo que en realidad puedes llamar a este Trofeo, trofeo tipo 2. Dos lugares lo puedes llamar y volvemos a los mapas y al inframundo. O bien puedes llamarlo cada vez que pierdes un pergamino. Entonces, cada vez que cargues un pergamino, puedes seguir adelante. Y aquí en el pergamino. Basta con llamar al tipo de beneficio conjunto. Y va a establecer el tipo dependiendo de cuántos pergaminos tengas. Pero esto no es para optimizar porque ¿por qué quieres establecer el tipo de trofeo cada vez que pierdes algo? Sólo lo vamos a utilizar cada vez que entremos al nuevo nivel. Por lo que realmente podemos usar esta plataforma para configurarla. Y esto es bueno para la optimización. Por lo que no llamas a un tipo de código todo el tiempo o no es necesario. Y solo podemos llamarlo cada vez que lleguemos a la plataforma. Entonces en la plataforma BP, siempre que teníamos este solapamiento antes de abrir el nivel,
sigamos adelante y llamemos a este evento llamado set trofeo tipo dentro del modo de juego. Por lo que dentro de aquí, podemos decir conseguir Modo Juego y establecer gráfica Gamow. Y aquí como el modo de juego, podemos llamar al tipo de trofeo conjunto. Así dijo el tipo de trofeo. Y ahora lo hemos llamado, y ahora podemos abrir el nivel después. Vamos a compilar y guardar todo. Vamos a golpear Play y ver si en realidad está funcionando o si nos dan algunos bichos. Entonces ahora estamos en metas de riesgo. Entramos al nivel y obtenemos plata. Eso es lindo. Vamos a hacer click escapar. ¿ Y si no lo hacemos o qué si solo miramos a uno y
golpeamos la plataforma, obtenemos este bronce. Y veamos si conseguimos oro. Si golpeamos, creo que son seis rollos, 1, 2, 3, o 5. Y carguemos este. Y vayamos al interior del portal. Y aquí estamos consiguiendo el trofeo de oro. Entonces la lógica para el, para los trofeos está funcionando ahora y solo quiero
pasarlo muy rápido si me pueden dar 30 segundos. Sé que el video se está haciendo demasiado largo. Solo para mostrarte lo que realmente está pasando. Entonces lo que está pasando es que estamos caminando dentro de estos pergaminos. Cada vez que aludemos a un pergamino, estamos levantando este contador por uno. Y este contador de golondrinas está contando cuántos lunares hemos cargado. Dependiendo de cuántos pergaminos se cargaron. Se va a fijar nuestra enumeración que hicimos. Y lo hicimos aquí. Genial. Dijiste la enumeración. Y esta variable en realidad se crea en la instancia de juego, que está por aquí. Lo recreó en la instancia del juego porque la instancia del juego no elimina variables o no restablece las variables cada vez que cambiamos de niveles, lo hace. Si hubieras agregado el trofeo, esta variable trofeos dentro de este modo de juego, no va a mostrar el valor correcto cuando cambies el nivel porque va a restablecerlo al valor predeterminado, que son las marcas. Lo tenemos en la instancia de juego. Y en realidad hicimos una variable para la instancia de esquema para que podamos usarla y hacer que el código sea más limpio. Y llamamos a esta enumeración y la ponemos ya sea en bronce, plata y oro. Y se está convocando a este evento cada vez que llegamos a la plataforma, llamamos a esto, a este evento por aquí para ver lo que dijimos, la enumeración dos. Y una vez que lo
hayamos establecido, Pasamos al mapa. Y dentro del Level Blueprint, vamos a llamar a esto desde la instancia del juego. Y sí cambiamos una enumeración dependiendo de cuál sea el valor. Hicimos que apareciera el trofeo. Por lo que ahora ya casi terminamos y sigamos adelante a la siguiente lección. Y en realidad quiero finalizarlo ajustando vista de
la cámara y también agregando algunos efectos de sonido y cosas más pequeñas como esa. Entonces pasemos a la siguiente lección.
69. Finalizar el juego: De acuerdo, así que ahora casi estamos terminados. Lo que quiero hacer son sólo algunas cosas finalizadas. Entonces para empezar por dentro del mapa, y quiero hacer clic derecho en esta cámara, dar click en piloto. Y aquí actualmente está bloqueado a un bloque el movimiento de la cámara. Por lo que haga clic derecho en esta cámara. Lo puedes encontrar dentro del Mundo. Outliner. Haga clic con el botón derecho en la cámara en la transformación, como Honorlock actor transform para mirar el movimiento para quitarlo. Y ahora vamos, déjame ajustar la cámara para que sea un poco mejor. Déjame bajar la velocidad de la cámara solo para que sea un poco más interesante. Entonces tal vez algo así como tal vez algo así está bien. De acuerdo, Así que déjame expulsar de la cámara presionando este botón. Entonces ahora tenemos esta cámara y déjame hacer clic derecho en ella y su forma. Y déjame amar de nuevo el movimiento para que no lo mueva por error. Por lo que ahora hemos ajustado la cámara. Y lo siguiente que solo quería mostrarte cómo puedes agregar efectos de sonido. No he agregado demasiados efectos de sonido aquí en este archivo, pero solo quiero mostrarles este. Y tenemos este LWD, vale, así que antes de poder usarlos con, tienes que hacer clic derecho y luego tienes que hacer click en crear cola. Entonces llamémoslo Q nivel de cambio. En realidad suelo llamarlo, como recordarán, es S4 sound cue. Y puedes usar ese nivel cambiado. Y podemos hacer clic derecho en la cola de creación y llamarla, llamémoslo bucles. De acuerdo, entonces ahora tenemos estas pistas sonoras y puedes hacer doble clic sobre ellas. Y aquí no vamos a ir en profundidad de sonido. Pero aquí si quieres bajar el volumen,
puedes hacer click sobre él y puedes bajar el volumen. Entonces creo que llegaré a 0.5. Será en algún momento. Eso está bien. Lo mismo con alusiones. Voy a hacer que el volumen sea tu 0.5. En su lugar. Muestro la menor 0.3. Y eso está bien. Por lo que ahora tengo estos tacos de sonido y queremos
añadir el sonido cada vez que vamos a hacer este scroll. Bueno, pasemos a los planos y pinchemos en el pergamino de BP. Entonces cada vez que nos solapamos con
ella, Va antes de que destruya al actor. Tocemos un sonido. Entonces digamos reproducir sonido 2D. Por lo que tenemos este sonido de reproducción 2D. Y hago clic en esto y selecciono el, vamos a seleccionar los bucles. Dijeron que iba a tocar un sonido cada vez que amábamos a un ser. Y sobre en la plataforma BP. Vamos, vamos a hacer el sonido de la reproducción. No sé si va a sonar bien porque vamos a cambiar tu nivel. Añádalo y veamos qué pasa. Cambiar nivel, compilar y guardar todo. Y sigamos adelante y pinchemos en Play. O en realidad volvamos al mapa principal, al inframundo y haga clic en Jugar. Sí, están cambiando de nivel. El sonido de nivel cambiante no se está reproduciendo porque cambiamos el nivel directamente sin hacer nada. Pero siempre podemos intentar eliminarlo desde aquí y podemos reproducirlo y fingirlo desde el final del mapa. Y en el Level Blueprint de inmediato cuando comience el nivel, podemos decir reproducir sonido 2D. Y los haremos un poco abajo. Y podemos tocar el nivel de cambio de sonido para que podamos fingir. Al hacer esto. Se va a jugar esto. De acuerdo, entonces ahora tenemos los sonidos en su lugar. Por supuesto, esto no es un realmente inmersivo. Nosotros, estos sonidos no encajan demasiado, pero solo quería mostrarte cómo puedes agregar sonido a tu A-game. Y claro que va a sonar mucho mejor si tienes sonido real. Si tienes sonidos para el balón, si tienes música encima y así sucesivamente. Por lo que antes de terminar este video, recuerda ir dentro de los planos. Y por ejemplo, en el modo de juego, recuerda comentar tu código es así por ejemplo, aquí, puedes entrar y decir Begin Play. Entonces en realidad lo puedes ver desde muy lejos, como desde aquí. En lugar de hacer zoom todo el tiempo, se
puede ver desde muy lejos. Y usualmente recuerdo lo que hago en el lugar inicial. Yo, yo defino variables y cosas así. Por lo que también puedes simplemente escribirlo aquí arriba. Y aquí, por ejemplo, agregar roles cuando se saquean. Y recuerda comentar todo el código. No quiero que el video sea demasiado largo. Recuerda comentar tu código y un nodo. Otra cosa que puedes hacer para limpiar el código es crear o colapsar tu código a funciones. Déjame seguir adelante y ver si necesitamos colapsar algo, dos funciones. El código es bastante pequeño. Entonces me gusta de manera realista si lo hiciera un gran juego actualmente y tuviera este código hasta ahora, no
colapsaría nada. Yo dejaría que fuera como es. Y tal vez puedas limpiar un poco esto creando un nodo ferroviario. Incluso puedes seleccionarlos y presionar Q para hacerlos rectos, y así sucesivamente. Entonces recuerda limpiar el código, recuerda comentar, porque es muy difícil leer el código. Si regresas diez días después y no sabes lo que has hecho. O si un nuevo programador comienza a programar en tu juego y él realmente no tiene oportunidad de entender lo que has hecho si realmente no has comentado nada. Pero esto fue todo por ahora y espero que se hayan divertido y aprendido mucho. Es bastante guay. Empezaste de la nada. Y ahora tenemos este juego aquí. Bastante, juego bastante pequeño, pero es un buen comienzo. Y siempre se puede pasar a juegos y temas más avanzados.
70. ¿AHORA QUÉ?: Me he divertido enseñándote sobre los fundamentos de los planos. Y también espero que te hayas divertido aprendiendo sobre los fundamentos y creando tu propio juego pequeño al final. Ahora puedes usar lo que has aprendido para crear tu propio videojuego pequeño, o simplemente crear un prototipo del proyecto que tienes en mente. En este punto, se puede seguir con temas más avanzados dentro de los planos. Si deseas crear videojuegos más complejos, por favor mantén un ojo en mis futuros cursos ya
que quiero lanzar un curso dedicado a desarrollar juegos. Ahora que hemos aprendido los fundamentos, si también te interesa cómo usar el motor
en general y diseñar un nivel optimizado de juego. Puedes echar un vistazo a mi otro curso en este sitio web llamado Unreal Engine cinco principiantes curso. Ojalá te hayas divertido aprendiendo los fundamentos de los planos, y espero verte en mis otros cursos.