Transcripciones
1. Introducción y estructura del curso: Mi nombre es Michael Moore, fundador de double m game dev. Y mi objetivo es convertirte en el mejor desarrollador de juegos de la manera más divertida posible. He ayudado a cientos de aspirantes a desarrolladores de juegos a lograr sus objetivos de crear juego limpio. Y yo quiero hacer lo mismo por ti. Lo que he aprendido es que puede ser muy difícil saber por dónde empezar cuando se trata desarrollo de
juegos y qué pasos tomar para pasar de principiante a intermedio a profesional, no solo en desarrollo de juegos, pero en la programación y el aprendizaje de cómo ir. Y puedo decir con absoluta confianza, este curso hace que sea fácil para cualquier principiante con experiencia en codificación
0 saltar y aprender a hacer grandes cosas. Lo que es aún más sorprendente es que este curso se hace usando la última versión de Unity 20-20 fue el más reciente contenido y técnicas posibles utilizadas y desarrollo de juegos modernos, he celebrado cientos de personas crean juegos del mundo real, y yo quieren que seas una de esas personas. Entonces, ¿cómo vamos a hacer esto, la estructura del curso? Entonces la primera sección, en la
que estamos actualmente será la producción y el jarabe, donde te presentaré a una unidad si eres nuevo en ella, y te presentaré al Visual Studio y por qué lo usará, en realidad lo hará también crean nuestro primer código y nuestro primer guión, que es muy emocionante. El segundo apartado será el mágico Game Cube, básicamente cubrirá los conceptos básicos C-sharp y unidad. Hablaremos de los conceptos básicos de C-sharp y de las herramientas que necesitaremos para nuestro Golding más adelante. Y los fundamentos de la unidad y todo lo que necesitamos
entender desde colisiones hasta cuerpos rígidos, hasta la física, la inmunidad y demás y demás. Ahora la tercera sección es donde las cosas se pondrán muy interesantes. Y es nuestro proyecto el que es la conquista de Castilla a la, y en la sección tres, vamos a estar montando nuestro mundo. Vamos a estar creando nuestros conjuntos de teselas. Vamos a estar creando nuestro mundo, agregando colisiones para dejar mundo y agregando a nuestro jugador, pero no tan rápido primo en la sección cuatro, vamos a estar sumando a nuestro conquistador y tal vez tengamos, podemos presentar a nuestra conquista y d, Sección Tres Botón sección cuatro. En realidad le vamos a dar las habilidades a Shawn, para correr, para tener animación diferente y así sucesivamente y así sucesivamente. Ahora, la sección cinco es donde las cosas se ponen un poco de miedo porque estamos agregando enemigos y bombas. Por lo que ahora nuestro jugador ya no es seguro, tendrá
que luchar contra enemigos y tendrá que
evitar baches en el camino mientras trata de conquistar la Gaza. Y en la sección seis, empezaremos a controlar nuestros juegos. Todo estar sumando, una partitura, estará sumando las vidas, estará agregando juego de tienda de múltiples niveles y todo lo que pase con
él en realidad también estará agregando muchos efectos de sonido y hacer que nuestro tema sea mucho más fresco. Y por último, en la sección siete, tendremos la sección ósea será donde
ajustemos un poco las cosas y solo por diversión,
hacer que nuestro juego sea un poco más emocionante y más divertido. También tendrás la oportunidad de flexionar los músculos de tus desarrolladores de juegos, porque en cada video habrá un mini reto para que completes. Y aunque no sepas cómo hacerlo, no te
preocupes por ello. Estaré ahí para ayudarte a reintentar y completar el reto con todo. Y nuestra ganancia será configurable. Para que puedas retocar, jugar y darle al juego y al S individual una sensación especial sobre que estarás poniendo tu propia creatividad en él y realmente haciéndola tuya. Estoy tan emocionado de empezar y espero que tú también lo estés. Este es el momento perfecto para empezar a aprender a codificar, sobre todo en tiempos como estos. Entonces buceando conmigo y te ayudaré a lo largo de cada paso de tu jurado de desarrollo de juegos. Y te veré en el siguiente video.
2. Sección 1: cómo descargar la unidad y los Visual Studio: Bienvenidos de nuevo a todos. Entonces en este video simplemente nos vamos a descargar en la unidad, cómo instalar nuestra versión de Unity y configurar todo con el fin de empezar a crear juegos. Entonces, empecemos. Lo primero que debes hacer es ir y a cualquier navegador que estés usando. Actualmente estoy usando Google Chrome. No importa. Simplemente ve adelante a Google y escribe en download unity hub, y deberías obtener este resultado de búsqueda. Así que simplemente ve y haz clic en el hub de la unidad de descarga. Debería ser el primer enlace que estaría en la página web de Unity 3d.com. Y te llevará a esta página aquí mismo, y te pedirá que descargues unity hub. Ahora bien, ¿qué es el hub de unidad? Bueno, el hub de unidad es un lugar donde podemos sumar diferentes versiones de Unity. Y también podemos tener todo,
todos, todo nuestro proyecto representado de manera muy ordenada y con mucho cuidado, lo cual es muy útil y mucho mejor que la forma en que usábamos Unity antes. Así que simplemente haz clic en Descargar unidad hub y deberías obtener la instalación que está aquí mismo, que es la configuración de hub unity. Entonces haga doble clic en eso. Se iniciará una instalación. Es bastante fácil. Simplemente haz clic en convenir e instalarlo. Y dondequiera carpeta de destino que tengas, ya
tengo hub de unidad, así que no te aburriré con el proceso de descarga. Te pedirá que aceptes algo que es bastante fácil. Así que adelante e instala el hub Unity. Ah, está bien, así que ahora que tienes hub de unidad y puesto, deberías conseguir esta ventana aquí mismo. Y lo primero que tendrás que hacer porque ya estoy registrado, así que necesitas crear una cuenta. Actualmente estoy usando mi email de Google, que es muy útil y mucho más fácil. Y aquí puedes ver que tenemos todos nuestros proyectos, no actualmente, aún no tenemos ningún proyecto, pero lo haremos muy pronto. Aquí tienes diferentes pestañas para aprender y para la comunidad, cuales puedes ir y echar un vistazo y ver qué hay. Pero en lo que nos vamos a centrar ahora mismo va a entrar instalado. Ahora como pueden ver, ya tengo una versión de Unity, que es 2020.1.21. Entonces tal vez eres del futuro y tienes una mejor versión o una más, o una versión más nueva. Y con el fin de agregar una nueva versión, simplemente haz clic aquí en la app. Por lo que al hacer clic en Agregar
, te da diferentes opciones para descargar unidad. Ahora como puedes ver, tienes lanzamientos recomendados, tienes lanzamientos oficiales y tienes preestreno. Ahora bien, ¿qué debes elegir? Bueno, personalmente a mí, me gusta elegir los lanzamientos oficiales porque suelen ser los menos buggy. Ahí está el lanzamiento recomendado que tampoco está mal. Y están los comunicados de prensa de preestreno. Y ahora los comunicados de prensa no siempre son malos buggy, pero a veces puedes encontrar no muy buenas actuaciones durante el juego o durante la creación del juego. No son tan comunes, pero yo personalmente prefiero los lanzamientos oficiales. Así que adelante y elige uno de ellos. Escogamos el lanzamiento oficial del 2020.1.10. Y vamos a dar click en Siguiente. Ahora, esto debería llevarte a otros módulos a tu ventana de instalación. Y lo que tenemos aquí es un montón de complementos y usos para la unidad. Entonces por ejemplo, tienes cinturón Android, que te ayudará a construir juegos para Android, tienes soporte de línea next construido y Mac y así sucesivamente y así sucesivamente. También tienes la documentación que te recomiendo descargar. Y tienes el idioma de vuelta, que si tienes algún tipo de idioma diferente, chino o coreano, no estoy seguro de cuáles son esos. También puedes revisar uno de ellos y descargar eso. Pero lo más importante es que tienes que revisar esta herramienta para desarrolladores, que es Microsoft Visual Studio Community 1019. A lo mejor tienes una versión más nueva. Por lo que esto es absolutamente una necesidad. Estaremos usando el Visual Studio para codificar todos nuestros juegos. Así que adelante, haga clic en esos y haga clic en Siguiente. Y la descarga debe comenzar justo aquí mientras estás teniendo una caja similar a ésta y con una pequeña barra azul aquí arriba esperando para terminar la descarga. Entonces ahora les voy a presentar a su reto, y este es su reto para hoy. Por lo que necesitas descargar unity y Visual Studio. Por lo que antes que nada, adelante y descarga unity hub. Entonces la unidad de descarga es la última versión. Y asegúrate de descargar también Visual Studio con unidad. Así que adelante y haz el reto, y te veré en el siguiente video.
3. Cómo utilizar este curso: Bienvenido de nuevo, Mis desarrolladores de juegos favoritos. Y este video, en realidad, y no en este video. He creado este video con el fin de que podamos maximizar el potencial de aprender de este curso. Entonces te quiero, quiero guiarte a través de un par de pasos que podemos utilizar con el fin de
exprimir por completo toda la energía
de aprendizaje del curso que estás tomando actualmente porque ya lo has hecho, ya estás gastando su tiempo aquí. Entonces, ¿por qué no maximizarlo? Entonces lo primero que vamos a entender es cómo funciona la Q&A. Entonces mientras estás viendo los videos, estás mirando a través de ellos, tal vez surge algo que no debería entender del todo. Entonces lo que puedes hacer es seguir adelante y deslizarte en las discusiones aquí mismo. Y puedes ver que tienes múltiples opciones. Puedes iniciar una conversación, hacer una pregunta o simplemente compartir un proyecto. Entonces aquí, puedes hacerme cualquier pregunta que quieras. No hay duda es de límite. Pero hay un pequeño paso que debes hacer antes de hacerme una pregunta. Y es decir, adelante y haz tu propia investigación. ¿ Por qué te pido que hagas eso? Bueno, porque a veces cuando te tropezas un problema y vas adelante y buscas una solución tú mismo, y entonces o la encuentras o no. Y cuando vuelves y me haces la pregunta, es mucho más fácil de entender. ¿ Por qué es eso? Porque ya has pasado por un par de sugerencias, tal vez ninguna de ellas era adecuada. Pero a medida que avanzas buscando la solución a tu problema, has ganado mucho conocimiento. Y cuando vengas a mí, cuando le preguntes a Michael y pasamos juntos por encontrar la solución, entenderás cómo todo clica y más adelante, cuando tal vez te encuentres con el mismo problema o tal vez veas esto problema para otro estudiante. Puedes ayudarlos y es mucho más fácil. Y finalmente, siempre que sí encuentres una solución
a tu pregunta a tu pregunta y le agregues un prefijo de sal
porque otros estudiantes podrían tener el mismo problema y encontrarán una solución para su problema si ven el prefijo resuelto detrás de ella. Y por último, antes de irme, sólo
quieres decir una cosa que no hay cuestión de límite. No hay preguntas estúpidas, no
hay preguntas tontas. Solo hay desarrolladores de juegos no profesionales. Nadie nació profesional. Todos tenemos que aprender a través del ensayo y el error. No creerías cómo citar entre comillas, mis preguntas eran tontas. Porque yo, o, soy, no
nací un profesional en unidad me llevó años de práctica, juicio y error o hacer preguntas, Google cosas. Entonces este es un proceso. No te preocupes, no tengas miedo, no seas inseguro con algunas de las preguntas que podrías querer hacer. Sé lo suficientemente valiente como para ir a buscar una solución si no encuentras una, no te preocupes, solo deja una pregunta. Yo siempre, siempre respondo a todos mis alumnos y siempre
profundizamos lo necesario para encontrar una solución a cualquier problema. Y ahora hablemos del servidor Discord. Y aquí es donde puedes profundizar en la comunidad que hemos creado aquí en el desarrollo de juegos de WMD. Por lo que puedes ir ya sea al enlace en la descripción de este video o puedes visitar mi perfil y encontrar el enlace en algún lugar de ahí. Y sí te recomiendo que te sumes a la discordia. ¿ Por qué? Porque la mayor parte del tiempo me podría tomar un par de horas para contestar en base a dónde eres. Entonces tal vez nuestra vivimos en diferentes zonas horarias. A lo mejor cuando me hagas la pregunta, es medianoche y necesitas una solución más allá podría estar durmiendo, quizá no pueda llegar a mi computadora. Por lo que es muy beneficioso para ti unirte al canal de discordia que hemos creado. Y déjame solo mostrarte el canal de discordia aquí mismo. Este es el inicio de nuestro canal de discordia. Se puede ver que tenemos a la comunidad en general. Tenemos el chat C-sharp, tenemos el chat de diseño de juegos, tenemos el show off tu juego. Tenemos las preguntas generales de desarrollo de juegos. Y se puede ver que todavía no tenemos nada aquí porque es bastante nuevo ya que estoy grabando esto. Pero más adelante, cuando entres aquí, notarás que hay una enorme comunidad de personas esperando para ayudarte y tal vez gente esperando obtener ayuda de ti. Y es muy beneficioso tratar de resolver la pregunta de otras personas. No creerías lo mucho que he aprendido de sólo ayudar a otras personas. Y puedes ver aquí que tenemos múltiples cursos. Estos son todos los cursos que tiene double m gamma game dev o he creado. Y podemos ver también podemos compartir memes y aquí tenemos discusiones generales de juego, juegos
AAA, no sé lo que te guste jugar. Podemos discutirlas aquí y el canal social o categoría, y así sucesivamente y demás. Por lo que sí te recomiendo que te unas a nuestro servidor de discordia. Es muy divertido. vamos a divertirnos mucho. Y eso es todo. Eso es todo lo que quería decir sobre el servidor Discord. A continuación, hablemos de las diapositivas de desafío, y esta es tu diapositiva de retos. Por lo que siempre que veas la diapositiva, necesitas pausar el video y hacer el reto en él. Es una forma mucho mejor de aprender. Y hacer siempre es mejor que ver y mi libro. Por lo que siempre que veas la pantalla de desafío, saber que es una gran oportunidad para salir y tratar de abordar la tarea que nos ocupa. Y la razón por la que creé estos retos es para
que obtengas el mayor beneficio de las puntuaciones que puedas. Personalmente he probado más de 10 núcleos donde el instructor simplemente pasa por los movimientos. Y al final del curso, he creado un juego, era el instructor, pero no he aprendido nada y sentí que nunca
sería capaz de replicar ninguno de los retos. Te da la oportunidad de intentarlo, cometer un error, y quedarte atascado tratando de resolver el problema. Y aunque no puedas averiguarlo, si no tienes idea de cómo hacer el reto, intenta incluso, aunque no puedas completar el reto. Cuando complete el reto, después de que lo hayas intentado, estará arraigado en tu cerebro. Y la próxima vez que veas el problema, recordarás los errores que cometiste y cómo no hacerlos. De nuevo, confía en mí, esto es lo mejor para aprender y los mantendremos activos mientras trabajamos juntos a través del juego. Entonces de lo siguiente de lo que quiero hablar es de la estructura central. Por lo que la sección 1, comenzaremos introduciendo todo y configurando. Por lo que lo haré, Estamos actualmente en la Sección 1. Estamos introduciendo la unidad y Visual Studio si nunca los has hecho antes. Por lo que te llevaré a través del proceso de descarga de todo. Hablaremos de cómo usar los puntajes, por
supuesto, como lo estamos haciendo en este momento. Y vamos a explicar qué es el control de versiones. El control de versiones es una herramienta muy poderosa en manos de desarrolladores
profesionales de juegos y de cualquier tipo de programadores por ahí. Y también estará creando nuestro primer código en Unity 3D. En la sección dos, estamos iniciando nuestro primer pequeño proyecto y va a ser el cubo mágico 3D. Aquí es donde presentaremos los conceptos básicos C-sharp y Unity 3D. Crearemos un par de objetos de juego. Crearemos formas, agregaremos cuerpos rígidos. Hablaremos de lo que son los cuerpos rígidos. Hablaremos de qué son las colisiones y qué hacen los colisionadores en cada objeto de juego. Hablaremos de los conceptos básicos de C Sharp. Entonces esto, en esta sección, si ya estás familiarizado con cómo funciona Unity3D tipo de trabajo y cómo funciona C-sharp, entonces puedes querer al siguiente apartado de inmediato. Si necesitas construir una base en C-Sharp, y este es el mejor lugar del que hablaremos si las condiciones, hablaremos de matrices, profundizaremos en bucles. Hablaremos de todo lo que necesitarías para continuar con el rumbo y pasar a la tercera sección, que es el cohete con destino al espacio 3D. Y en realidad estamos empezando a crear nuestro gran proyecto. Y estamos empezando creando nuestro cohete. Por lo que construiremos nuestro cohete a partir de diferentes materiales y nuestro juego, comenzaremos con las formas, agregaremos cuerpo rígido y empezaremos a moverse. Nuestro cohete, en primer lugar, lo
estará impulsando y luego trabajaremos en la rotación de nuestro cohete. Pasaremos entonces a la Sección 4, porque por supuesto, nuestro cohete necesita un espacio para volar, una entidad necesita obstáculos. Por lo que hablaremos de diseño de niveles. Empezaremos a crear nuestros primeros niveles y les vamos a sumar unas colisiones y vamos a empezar a detectar ¿qué tipo de obstáculos estamos golpeando? ¿ Y son buenos obstáculos? O son pueden ser combustible. A lo mejor hay cosas en las que necesitamos aterrizar, así que hablaremos de todo eso. Y en la quinta sección, estamos empezando a hablar de flujo de nivel. ¿ Y qué quiero decir con nivel de flujo? Bueno, por supuesto en el diseño de niveles no sólo vamos a tener un solo nivel, vamos a crear múltiples niveles y necesitamos una forma de movernos por esos niveles. Entonces aquí es donde entra el flujo de nivel. Agregaremos, usaremos nuestros conocimientos en C-Sharp con el fin de
integrarnos a nuestros niveles y comenzar a progresar a través de ellos. Entonces iniciaremos nuestros trabajos en el diseño avanzado de cohetes. Por lo que ahora tenemos comprensión básica de los niveles. Nos estamos moviendo a través de ellos. Tenemos nuestro cohete, pero necesitamos más, necesitamos agregar más estilo. Tenemos que añadir más potencia a nuestro cohete. Y aquí es donde vendrá el diseño avanzado de cohetes. Y hablaremos de efectos de partículas. Hablaremos de agregar más audio. Ahondaremos más profundamente en el diseño de cohetes y lo haremos mucho más interesante. En la séptima sección, comenzaremos a utilizar el diseño de nivel avanzado. Hablaremos más sobre cómo funcionan los niveles. Vamos a sumar obstáculos móviles. Empezaremos a realmente hacer que nuestro nivel respire. Agregaremos diferentes tipos de personas de la tercera edad. Cambiaremos la iluminación. Y finalmente en la sección ósea, y no he incluido esto como sección principal. Esa es una sección de bonos porque ya tenemos todos los elementos centrales configurados y nuestras primeras siete secciones. Entonces, pero la parte de pulido en realidad está agregando más arte a nuestra ganancia. Entonces, antes que nada estaremos apagando nuestro petróleo. Entonces Sección 6, estaremos creando una barra de salud para nuestro cohete, pero está atascado ahí y no se está moviendo. Sección de bonos estará puliendo eso hasta quitando el Bot de Salud y solo haciéndolo aparecer cuando alguna vez necesitábamos, entonces estaremos creando un menú principal porque no es una parte crucial de nuestro juego, pero también es muy divertido. Y vamos a sumar, y vamos a hacer que nuestro juego se vea mucho más profesional. Por lo que sólo quiero dejarles con este mensaje. Si metes el trabajo en los puntajes y si haces lo mejor de ti haciendo los retos, siguiendo con mucho cuidado los pasos, saldrás de los puntajes mucho más aprendiendo. Entonces, no perdamos más tiempo. Y empecemos.
4. Cómo trabajar en la interposición de la unidad: De acuerdo, así que bienvenido de nuevo a otro video. A ver ¿qué es la unidad? Por lo que la unidad es un desarrollo de motor de juego multiplataforma desarrollado por Unity Technologies. Usaremos Unity para desarrollar nuestro juego. Entonces, ¿qué significa multiplataforma? Significa que podemos usarlo en diferentes plataformas. Y es un motor de juego. Y qué motor de juegos es,
es un ambiente para que desarrollemos juegos y agreguemos física y añadamos cosas diferentes para crear nuestro juego. Entonces veamos cómo es realmente Unity y
te explicaré un par de cosas sobre ella. Entonces esto es Unidad. En primer lugar, tenemos esta barra de herramientas aquí arriba por encima de todo. Y esto proporciona acceso a las características de trabajo más esenciales. A la izquierda, nosotros, contiene las herramientas básicas para manipular la vista de escena y los objetos de juego dentro de ella. En el centro tenemos el play, la pausa y el botón de control de stub. Y los botones de la derecha te dan acceso a la colaboración de Unity, servicio cloud
unity y la cuenta de Unity, y no entrarán mucho en eso. En el lado derecho de esos, tenemos el menú de la unidad de visibilidad de capas. Y tenemos el editor, que proporcionan algunos diseños alternativos para la ventana del editor y te permite guardar tus propios diseños personalizados. Entonces si no tienes el mismo diseño que yo, simplemente
puedes hacer clic aquí en layout y puedes elegir el layout predeterminado. Y este es el jugador por defecto que tenemos. Son los proyectos aquí mismo y inspector y todo. A continuación hablaremos de la ventana jerárquica justo aquí. Se trata de una representación de texto jerárquica de cada objeto de juego y de nuestra escena. Por lo que cada elemento de la escena tiene una entrada en la jerarquía. Por lo que las dos ventanas están intrínsecamente vinculadas. En la siguiente jerarquía se revela la estructura de cómo los objetos de juego se unen entre sí. Entonces aquí mismo tenemos la escena muestral. Y si hacemos click en eso, tenemos la cámara principal debajo de ella. Y si agregamos otro objeto de juego, también aparecerá aquí mismo. Y aquí está el inspector, como se puede ver a la derecha. Este es el inspector de ventanas y
da, permite ver y editar todas las propiedades del objeto de juego seleccionado actualmente. Entonces no selecciones un objeto de juego, no
vemos nada. Al hacer clic en la cámara principal, tenemos estas diferentes ventanas aquí mismo, y los diseños y contenidos del contador de la ventana del inspector cambiaron cada vez que seleccionas un objeto de juego diferente o ahora no tenemos un objeto de juego diferente. Entonces sólo nos conformaremos con la cámara. Siguiente. Entonces tenemos es esta vista de escena aquí mismo. Y la vista de escena te permite visualizar y navegar y editar tu vista vista de escena. Te puedo mostrar ya sea una perspectiva 3D o una perspectiva 2D dependiendo del tipo de proyecto que estés usando. Por lo que en partituras se estará utilizando la vista de proyecto 2D, pero también se puede escribir aquí coleccionar en el botón al y se irá 3D. Como puedes ver, tenemos esta vista 3D pero no vamos a necesitar, simplemente pasará al modo 2D. Y por último, quiero hablar de la ventana del proyecto aquí mismo, que muestra su biblioteca y activos que están disponibles para usar en su proyecto. Por lo que cuando importes activos a tu proyecto, aparecerán aquí mismo. Entonces por ejemplo, por ahora no tenemos ningún activo, sólo
tendría la carpeta escenas. Y dentro de la carpeta de escenas, tenemos esta carpeta de muestra. Entonces esta es una visión rápida de la unidad y de lo que son todos esos paneles y gadgets. Nosotros, por supuesto,
profundizaremos en ellos a medida que pasemos por el curso. Pero ahora quiero hablar del, algo muy importante y ese es el Visual Studio. Entonces, ¿qué es Visual Studio? Visual Studio es un Microsoft Visual Studio. Se usa bien, es desarrollado por Microsoft y es un IDE. Y IDE es un entorno de desarrollo integrado. Y lo que haga, realidad, si me preguntas en Visual Studio, nos
ayudará a escribir el código utilizado para manipular objetos de juego en la Unidad usando algo llamado guiones. Entonces, ¿cómo usar Unity con Visual Studio? Por lo que necesitamos una forma de unidad y Visual Studio para comunicarse. Pero no simplemente hacen eso. Tenemos que agregarle algo llamado el archivo dot cs, y ese es nuestro guiones. Y esos guiones, en realidad tomamos esos guiones, los
adjuntamos a objetos de juego. Y el uso de esos scripts será capaz de agregar comportamiento a diferentes tipos de objetos de juego. Y eso lo veremos muy, muy pronto. Entonces, vayamos a Visual Studio y veamos de qué se trata. Se trata de Visual Studio. Y tal vez la primera vez que lo abras, tendrás diferentes paneles justo aquí a la derecha, y diferentes ventanas aquí a la izquierda. Siéntase libre de cerrarlos todos. Y no te preocupes por lo que pase a continuación. Por supuesto, no lo tendrás la primera vez que inicies Visual Studio, pero lo verás pronto. Y sólo les presentaré un par de líneas de códigos aquí mismo. Entonces, vamos a acercarnos sólo un poco. Y aquí mismo en la parte superior se puede ver que estamos usando colecciones del sistema. Estamos utilizando colecciones de colección de sellos genérico. Y lo más importante, estamos usando el motor Unity. ¿ Cuáles son todos esos? tanto que esos se llaman espacios de nombres. Y básicamente, se trata de bibliotecas que nos dan la oportunidad de utilizar diferentes tipos de pelaje. Entonces por ejemplo, el motor Unity, que agregamos probado aquí, nos
permite usar el método de inicio de puño y el método de actualización y diferentes motores para crear juegos y hacerlo mucho más fácil. Y simplemente escribimos aquí usando motor Unity. Y nos ahorra mucho oro y nos da toda la biblioteca para usar. A continuación tenemos el nombre de clase pública. Y este es el, en realidad el ClassName, que debería estar justo aquí. Será el guión del que hemos hablado y se adjuntará a un objeto de juego. Y abarcará todo el código que cambiará
el comportamiento de nuestro objeto de juego y juego sidewall y comportamiento
mono es una clase base y en realidad
es estos dos significan que hereda del comportamiento mono, lo que le permite utilizar diferentes tipos de manipulaciones y motor y física y así sucesivamente y demás. Y lo siguiente que tenemos es el inicio y arriba es algo llamado los comentarios. O siempre que escribas código y agregues estas dos líneas aquí mismo, comentará las cosas y los comentarios en realidad no se ejecutan. Y el GOP, el abrigo, el abrigo, el código y son perfectamente seguros. Entonces es inicio. Se llama Inicio antes de la primera actualización del marco. Por lo que en cuanto comience nuestro juego, el método de inicio y el alcance de un método que empezaremos a ejecutar. A continuación tenemos la actualización, y la actualización se llama una vez por fotograma. Por lo que cada fotograma que tenemos en nuestro juego, se llama
la actualización. Por lo que inicio se suele usar para dar las propiedades o configuraciones iniciales a ciertos objetos. Y la actualización se utiliza para objetos que tal vez se están moviendo o cambiando cada fotograma. Entonces si tenemos un auto, por ejemplo, y
arrancamos, podemos darle el color, el nombre, la velocidad a la que puede ir. Una actualización estará moviendo el auto, estará haciendo el salto de carbono estará haciendo que el auto vaya más rápido, tal vez aumente su velocidad. Entonces obtienes la idea básica de Visual Studio, y ahora es el momento de tu reto. Y tu reto es ir a hacer masa de puntería. Por lo tanto, abra la unidad, cree un proyecto. Y si no sabes crear un proyecto, lo
haremos en el siguiente video. Y cuando termines, después de que vayas a hacer masa de heno, ve al siguiente video y haremos nuestro primer abrigo y empieza. Entonces te veré en el siguiente video.
5. Escribir tu primer código en C#: Bienvenidos de nuevo, mis compañeros desarrolladores de juegos. En este video, vamos a estar creando nuestro primer código y nuestros primeros objetos de juego. Entonces como puedes ver aquí mismo, tenemos un objeto de juego llamado Hello World en nuestro corazón y nuestra jerarquía. Está presente aquí mismo en nuestra escena, aunque no lo vemos muy bien. Y tenemos el guión aquí mismo adjunto. También hemos creado los criterios de guión en nuestro proyecto. Y en consola. Si hacemos click en play, realidad
obtenemos un mensaje que muestra Hola Michele, que soy yo. Pero en tu caso lo hará, va a estar mostrando tu nombre. Por lo que estoy muy emocionado por este video porque es nuestro primer ahondar en el mundo de la Unidad. Entonces espero que hayas disfrutado el video y te veré en solo un rato. K. Entonces lo primero que vamos a hacer es abrir el hub de Unity. Y actualmente no tienes proyectos aquí, lo cual cambiará en solo lo primero que haremos es dar click en nuevo aquí mismo. Y tendremos que elegir una plantilla para nuestro juego. Entonces estaremos creando un juego 2D, no un 3d. Y estas son diferentes opciones también para diferentes tipos de proyectos. A continuación tendremos que añadir un nombre de proyecto. Siéntase libre de nombrarlo. Lo que quiera será llamarlo por ahora el proyecto Hello World. Y asegúrate de elegir una ubicación para tus proyectos de Unity. Entonces vamos a dar click en este y vamos a volver y guardarlo dentro de los proyectos de Unity. Entonces selecciona la carpeta y ahora tenemos una ubicación para nuestro juego. Necesitas hacer. Todo lo que necesitas hacer en este momento es hacer click en concreto. Por lo que da click en Crear y Unidad comenzará a crear tu proyecto. Y no te aburriré con la espera aquí. Usaré la magia de la edición y simplemente saltaremos al proyecto. Entonces nos vemos en un rato. Bienvenido de nuevo. Por lo que espero que su proyecto también haya terminado de configurar. Entonces esta es nuestra escena. Si no tienes este tipo de vistas, como te he dicho, siempre
puedes ir al layout y elegir el layout por defecto. Y tendremos el mismo diseño, los dos. Entonces antes de que
empecemos, primero que nada en algo llamado la Consola. Y como pueden ver, incluso antes de que empecemos nada, tenemos esta ventana de consola justo aquí. Y lo que esto hace es que nos muestre los mensajes. Y vamos a usar esta ventana de consola para ver las cosas que se imprimirán desde nuestro código. Y si no lo tienes, simplemente
puedes subir aquí y ventana, dar click en él. Y justo arriba aquí, puedes ver en el general tendrá la consola, así que haz click en ella, debería aparecer
una ventana y puedes acoplarla donde quieras. Yo lo voy a atracar aquí mismo al lado de proyectos. En otra cosa de la que quiero hablar es en el, dondequiera que guardaste tu proyecto, lo
he guardado en D, proyectos
Unity y HelloWorld. Entonces como pueden ver, tenemos diferentes carpetas aquí mismo. Tenemos los activos. Sostén nuestras escenas y todo lo que creamos y proyectamos. Puedes ver los activos y activos del proyecto aquí mismo. También tenemos la biblioteca que crea automáticamente cada vez que entramos a un proyecto, tenemos registros, tenemos paquetes, tenemos configuraciones de proyecto, todo aunque
todos esos son detalles que no van a entrar demasiado. Y la carpeta temporal, que discutiremos más adelante en el cubo mágico al juego. Entonces volvamos a Unidad. Y aquí dentro vamos a estar creando nuestra falda. Entonces vamos a hacer clic aquí. Y vamos a entrar en crear y crear. En realidad podemos crear múltiples cosas, como puedes ver, haremos un par de ellas en nuestro proyecto, pero por ahora simplemente creemos un guión C-sharp. Entonces haga clic en eso. Y antes de que hagas nada, así que ahora no hagas nada, deja todo. Tendrás que asegurarte de que cada vez que nombre un script que lo hagas con precisión porque causará un error más adelante si quieres intentar cambiar el nombre de tu script. Así que asegúrate de nombrarlo correctamente desde el principio. Por lo que vamos a nombrar a este hola mundo sin ningún espacio y dar click en Entrar cuando estés seguro de que has decidido por el nombre del guión. Entonces da click en Entrar y te diré por qué en tan solo un poco. Entonces como pueden ver, tenemos algo justo aquí en el inspector. Y eso llevó un poco de tiempo y es porque Unity necesita compilar el código aquí mismo. Y en realidad se puede ver el código en el inspector. Y por qué les dije es tan crucial asegurarse de que el nombre del guión aquí mismo se defina antes de dar click en enter como porque va a ser el nombre de nuestra clase. Entonces si cambias el nombre de nuestro guión aquí mismo, tick apellido no cambiará. Y habrá un error donde unidad o el Visual Studio no
podrán encontrar el script correcto en el proyecto y esto provocará errores. Por lo tanto, para evitar eso, simplemente se asegura de que nombre a su guión de manera correcta y precisa desde el principio. Ahora, ¿qué debemos hacer a continuación? Es muy sencillo. Simplemente haz doble clic en Hello World y el Visual Studio debería abrirse. Y como puedes ver aquí mismo, esto es lo que hemos descrito un par de tal vez en el video anterior. Entonces, ¿qué vamos a hacer aquí? Simplemente vamos a imprimir algo a nuestra consola y lo haremos dentro de stock. Entonces sigamos adelante e imprimimos. Entonces como puedes ver de inmediato, Visual Studio, nuestro gran amigo empieza a ayudarnos y nos da una sugerencia para lo que queremos usar, o escribimos la impresión y nos da la sugerencia. Y ahora simplemente puedes dar click en Tab y se lo terminará por ti. Y ahora abrimos nuestros corchetes y podemos ver que Visual Studio nuevamente nos ayuda. Y nos dice que necesitamos agregar un mensaje de objeto dentro de aquí. Y ese mensaje de objeto va a ser una cadena. Hablaremos de cuerdas más tarde. Pero por ahora, string es una cadena de caracteres que ponemos dentro de estas dos comillas aquí mismo. Entonces sigamos adelante y sumamos de nuevo estas dos citas a. Y ahora escribimos dentro de estas dos citas, hola mundo. Entonces, ¿eso es suficiente? Bueno, en realidad, no, porque si ven aquí mismo, tenemos la línea roja astucia. Y si pasamos por encima de
él, nos dice que espera un símbolo, que es éste. Y cada línea de código en C agudo, hay
que añadir este punto y coma aquí mismo. Entonces guarde eso. Y ahora, porque lo hemos puesto dentro de inicio, cuanto iniciemos nuestro juego, este mensaje debe ser impreso en la consola. Entonces intentemos eso. Volvemos a la Unidad y entramos a la consola. Pero si hacemos clic en play, como pueden ver, no se está mostrando nada en nuestra pantalla. ¿ Por qué es eso? Debido a que no basta con crear un script, en realidad
necesita adjuntarlo a un objeto. Entonces vamos a crear un objeto. Y la forma en que hacemos eso, simplemente
entramos en nuestra jerarquía. Hacemos clic aquí. Podemos crear un objeto de juego vacío. Haga clic en eso. Y ahora tenemos un objeto de juego que sigue adelante, podemos cambiar el nombre de ese objeto de juego. Lo llamaremos. Vamos a llamarlo Hello World objeto. Da click en Entrar, y debajo de ella puedes ver que tenemos la transformación. Y esta transformación nos dice la posición de nuestro objeto de juego en el mundo. Y aquí arriba tenemos las herramientas para manipular. Entonces si haces click en el taburete, realidad
podemos poner el objeto hacia arriba o arrastrar el objeto hacia abajo, llevarlo a la izquierda o a la derecha y ponerlo en cualquier lugar que queramos. Y actualmente no podemos ver que no tenemos nada que representar ni objeto de juego. Simplemente tenemos sus ordenadas y se transforma. Entonces vamos a adjuntar el guión de este objeto de juego. Para ello, basta con hacer clic en el script y arrastrarlo a la jerarquía y al objeto Hello world. Entonces si hace clic en Hello work object aquí mismo, se
puede ver que tiene un script justo debajo de la transformación adjunta a ella. Y ahora si hacemos click en play en la consola, podemos ver que tenemos hola mundo. Enhorabuena, acabas de escribir tu primer código y acabas de utilizar tu primer objeto de juego para mostrar algo a la consola. Ve rastrillo. Y ahora es el momento de tu reto. Y tu reto va a imprimir el tuyo propio. Gracias. Entonces en lugar de hola mundo, necesitarás imprimir tu propio nombre. Entonces cambia helloworld a hola. Y en lugar de esos tres puntos, claro que va a ser tu propio nombre. Te daré un par de pistas. Por lo tanto, agrega tu nombre y tamaño de los puntos. Guardar Visual Studio. Recuerda siempre guardar Visual Studio usamos el control como ir a la unidad y haz clic en jugar y comprueba tu consola. Así que asegúrate de que funcione. Pausa el video ahora mismo y ve a hacer el reto. Ay, kay, bienvenido de nuevo. ¿ Cómo te equivocaste con eso? Espero que hayas intentado lo mejor posible y ese reto. Vamos a Visual Studio. Y en lugar de mundo, voy a borrar eso y pondré mi propio nombre, que es Michel. Entonces hola Michelle. Y sólo vamos a añadir una exclamación o tres signos de exclamación por el efecto dramático. Y para asegurarme de que has guardado tu proyecto, estoy soportando un guión. Cuando miras aquí mismo, puedes ver que tiene un pequeño astérix, tan estricto como las cuerdas adjuntas a él. Y para guardar que haces click en, y eso significa que no se ha guardado. Por lo que unos cuantos sostienen Control, S, haga clic en control. Como se puede ver que el asterisco como Trixie desaparece, y eso significa que el guión se ha guardado, Vete de nuevo a Unidad. Y se puede ver que hay un asterisco aquí mismo, también al lado de la escena muestral. Entonces guarde eso. Y ahora si vamos a consola, puedes ver aquí mismo que tenemos este botón despejado. ¿ O hace clic hacia abajo? Ya puedes ver que podemos dar click en Play. Eso se puede quitar. Siéntete libre. No importa. Simplemente lo eliminaremos para ver los cambios que sucedieron en este momento si hacemos click en play, tendremos hola Michelle,
o hola, sea cual sea tu nombre como mis compañeros estudiantes. Y eso está todo tan claro que,
que se esfuerzan de nuevo, haga clic en jugar. Y Hola Michele. Hola, mis desarrolladores de juegos favoritos. Espero que hayas disfrutado el video y te veré en el siguiente.
6. Sección 2: cubo de juego mágico: Hola a todos. En este video vamos a hablar de control de versiones. Entonces, ¿qué es, cómo funciona y por qué lo necesitamos, descargará también el árbol fuente, que es éste, una interfaz gráfica de usuario que nos ayudará y hará la vida mucho más fácil? Nuestro objetivo es llegar a un punto en el que tengamos todo preparado y listo para ir. Entonces, no perdamos más tiempo y saltemos. Control de versiones. Es difícil aprender, es aún más difícil enseñar. Pero no puedo decirte lo importante que es que aprendas la habilidad. Y sobre todo si buscas convertirte en un desarrollador profesional de juegos. Entonces, ¿qué es? ¿ Qué es el control de versiones? Bueno, básicamente es un sistema que se encarga de gestionar los cambios a tus programas informáticos. Entonces, de todos modos, el control de versiones es una forma para nosotros de registrar la historia de nuestro proyecto. Necesitábamos controlar la versión de nuestro proyecto y tener una copia de seguridad a cada uno de ellos. Lo que significa que nos ayuda a dar pasos arriesgados en nuestro proyecto y evitar romper todo el proyecto. ¿ Por qué usarlo? Bueno, lo usaremos para recordar versiones
anteriores de nuestro juego y tener más flexibilidad para experimentar. Es especialmente útil a la hora de crear juegos, porque el desarrollo de juegos requiere mucha experimentación. De lo que estaremos utilizando es un sistema de control de versiones llamado Get. Hay otras formas, pero esta va a funcionar perfectamente para nosotros. Y por último, estaremos usando una interfaz gráfica que facilita nuestra vida, que se llama árbol fuente. También podemos tener un caballo en línea, pero no estaremos hospedando solo por ahora. Ahora, lo primero que tienes que hacer, tienes que seguir adelante y descargar el árbol de fuentes. Simplemente escriba la fuente tres o vaya a la fuente tres, ABC.com, o escriba la descarga del árbol de fuentes en Google. Y deberías subir a esta página aquí mismo. Ya sea puedes descargar para Windows y también está disponible para tu Mac OS. Cuando termines de descargar, tú, deberías tener este archivo de instalación aquí mismo. Simplemente haga doble clic en él e inicie la instalación. Y cuando llegues, debes llegar a este punto justo aquí, donde tienes instalada la fuente tres. Por lo que basta con dar click en Acordar aquí mismo. Y entonces debería llevarte a la siguiente diapositiva o ventana, que es o bien para crear una cuenta. Por lo que o bien usas una cuenta existente o
puedes ir a mi adolescente y crear una cuenta. Ahora si ya tienes una cuenta de Google, quieres conectarte a ella. Simplemente haz clic en Usar Existente puede contar y crear usando Google, o puedes ir y crear una nueva cuenta de mi adolescente personalmente, he hecho una usando Google Gmail. Es mucho más fácil y no te envían spam con correos electrónicos. Siguiente cosa que necesitas. Entra a conectar a una cuenta que como hemos dicho, vamos a saltar por ahora. Y por último, al instalar, puede llegar a esta pregunta aquí mismo donde no puede encontrar ni localizar el get. Entonces si no tienes el get ya instalado, simplemente haz clic en descargar una versión incrustada de Git y se la descargaría por ti. Y por último, como paso final, puede pedirte por Mercurial, que no estaremos usando. No hay daño en la descarga. Es, simplemente no lo estará usando en este curso. Entonces simplemente haga clic, no quiero ningún Mercurial. Ah, está bien, entonces cuando termines la instalación, una ventana como esta debería parecerte más. Si no tienes esta ventana, debes hacer click en Crear aquí mismo, y esta ventana aparecerá para ti. Entonces aquí es donde creamos nuestro repositorio, que es la parte más importante de todo
el repositorio de sistemas de control de versiones es la copia de seguridad de nuestro proyecto. Por lo que si hace clic aquí en navegar, realidad
puede encontrar la ruta de destino. Entonces si entramos a navegar, pinchamos en D, y miramos en nuestros proyectos de Unity, puedes ver que solo tenemos un proyecto aquí mismo, que es hola mundo que hemos hecho en la sección anterior. Entonces lo que vamos a hacer ahora es que tendremos que ir al hub de
Unity y necesitaremos crear un nuevo proyecto. Y este nuevo proyecto, simplemente
estás dando click aquí en nuevo elige 2-D. Y este será el proyecto de nuestra sección actual, que es magic q,
k, o magic Game Cube. De acuerdo, puedes ponerle el nombre que quieras. Pero lo más importante es que recuerdes la ubicación. Así que asegúrate de recordar la ubicación de tu proyecto para acceder a él a través del árbol de fuentes. Adelante y haz click en Crear. Y ahora esperaremos el proyecto de Unidad. Gaye, bienvenido de nuevo sólo salta todo
el proceso de instalación usando la magia de la edición. Y ahora estamos de vuelta en Unity y tenemos nuestra configuración de proyecto, que es mágico Game Cube. Y ahora lo que necesitamos hacer es crear un repositorio para ello. Así que vuelve al árbol de fuentes, haz clic en navegar, y busca el proyecto. Debes recordar cuándo, dónde lo has puesto y si vas a tus proyectos de Unity o donde lo hayas guardado, deberías haberlo hecho. Ahora, Magic Game Cube, simplemente haga clic en él y haga clic en seleccionar carpeta. Ahora como ves el nombre del repositorio como el cubo del juego Magic. Y tienes la opción aquí de elegir Git o Mercurial. Nosotros vamos a elegir get. Y aquí es donde se puede crear un repositorio a cuenta. Como hemos dicho, no estaremos hospedando nada. Así que simplemente desmarcarlo, obtener y hacer clic en Crear. De acuerdo, te preguntará problema con el directorio de destino. No te preocupes por ello. Simplemente haga clic en Sí. Deseamos continuar. Excelente. Entonces ahora como pueden ver, tenemos estas cosas raras por aquí y no estamos seguros de lo que está pasando. Tenemos estos activos, estas bibliotecas y demás, y una larga lista de cosas que se llaman archivos en escena. No hace falta que te preocupes por esto ahora mismo. Simplemente adelante descarga la fuente tres e instálala. Y este es en realidad tu reto, que es descargar y configurar o S3. Así que adelante y descarga el árbol fuente. Adelante e instala y configura todo. Y te veré en el siguiente video.
7. Configurar el archivo .gitignore: Bienvenidos de nuevo a todos. En este video vamos a estar ignorando algunos archivos. Y aprenderemos a obtener todos los archivos que necesitamos para ignorarlo y ponerlo en una carpeta que se llama Git ignore. También añadiremos un cubo. Sí, No, en realidad es un cuadrado mágico, pero llamaremos a este cubo mágico, lo
agregaremos a nuestra escena, y estaremos creando nuestro primer commit. Entonces empecemos. Ahora bien, si hacemos click en nuestro proyecto, se abre bastante rápido, relativamente rápido. Y mientras nosotros, está bien, así que ahora está abierto. Y si vamos a nuestro archivo fuente, podemos ver que tenemos este archivo temporal aquí mismo y tenemos este archivo de biblioteca aquí mismo. Entonces sigamos adelante y cerremos proyecto. Para más cerca, podemos ver que desaparece la carpeta temporal. Y si eliminas la carpeta de la biblioteca, aún
puedes abrir el proyecto y la unidad realmente reconstruye la biblioteca. Puedes probar esto en casa. No te preocupes, es completamente seguro. Biblioteca contiene información en caché que ayuda a Unity a abrir el proyecto más rápido. Pero el problema es que no necesitamos guardar esta biblioteca en nuestro repositorio. Como pueden ver aquí, tenemos una gran cantidad de archivos por etapas están armando archivos en estado que actualmente están fluyendo de la biblioteca y son inútiles. Entonces lo que queremos hacer es querer ignorarlos cada vez que escenificamos nuestros archivos. Entonces para hacer eso, simplemente hacemos clic derecho en cualquiera de ellos. Y se puede ver que tenemos esta opción de ignorar aquí mismo. Si hace clic en él, tenemos que ignorar el nombre de archivo exacto. Ignora todos los archivos con esta extensión. O podemos ignorar todo debajo de una biblioteca, y esto es lo que necesitamos. Por lo que basta con hacer click en este botón y dar click en Aceptar. Y ahora toda nuestra biblioteca, todo bajo Biblioteca se ignora. Y si te desplazas a la parte superior, puedes ver que aquí tenemos una carpeta, una nueva carpeta que este dot git ignora lo que se llama gitignore. Y en realidad puedes hacer doble clic en eso y se abrirá en un bloc de notas, realidad
puedes acceder a la información. Y aquí se puede ver que tenemos biblioteca. Y este archivo gitignore contiene todo lo que será ignorado cada vez que creemos nuestro repositorio. Ahora otra cosa que debemos tomar en cuenta es que estaremos ignorando muchos otros archivos que son inútiles y sólo ocuparán más espacio y nuestro repositorio. ¿ Y cómo encontramos todos estos expedientes? Bueno, afortunadamente, tenemos algo que se llama un archivo dot git ignore que alguien ha creado ya sabe lo que deberíamos estar ignorando. Y eso lo puedes encontrar. Si simplemente entras en Google y aquí mismo, 5p y Git ignoran la unidad y deberían aparecer estos resultados de búsqueda. Simplemente haga clic en el que está en GitHub y debería ser el más reciente. Debería llevarte a una ventana que es así. Entonces desplázate hacia abajo y aquí puedes ver todo lo que necesitamos para ignorar y añadirlo a nuestro archivo dot ignore. Por lo que simplemente resalta todo en esto. Seleccione Todo ello, haga clic en Copiar o simplemente Control-C. Vuelve a nuestro enseñado ignorar bloc de notas, selecciona todo y pega. Y ahora tenemos r dot ignorar configuración de archivo. Simplemente guarde eso, estaban usando control S. Y ahora todo en el archivo dot ignore se ha guardado. Salgamos de eso. Y ahora si hacemos clic en Git ignorar, podemos ver que todos nuestros archivos han sido guardados. Volvamos rápidamente a repasar los pasos. Entonces lo primero que debes hacer es encontrar un archivo aquí debajo de Biblioteca y hacer clic derecho en él,
ir a ignorar, y hacer clic en, Ignorar todo lo que hay debajo. Pero aquí debería ser Biblioteca. Cuando termines con eso, entra en Google, busca Git, ignora la unidad. Haga clic en el primer resultado de búsqueda que es de GitHub. Mucho mejor. Entra en GitHub y deberías encontrar este archivo. Simplemente copia todo eso. Vuelve al árbol de fuentes, selecciona el archivo gitignore aquí arriba y pega todo lo que hay dentro de él y debes estar hecho. Lo siguiente que vamos a hacer es que vamos a crear nuestro primer complet. Entonces, ¿cómo hacemos eso? Entra a nuestros archivos en escena, que deberían estar aquí mismo, y haz click en el escenario. Todo va a esperar sólo un poco. Y ahora todos nuestros expedientes nos fuera están escenificados. Para continuar, necesitamos nombrar este commit. Y como cortesía a nuestro proyecto, siempre
comenzamos con nuestro compromiso inicial por nombrarlo. Comentario inicial un poco anticlimáctico. Pero siempre que quieras nombrar un commit, debe reflejar lo que debes reflejar los cambios que has hecho a tu proyecto. Entonces da click en Comprometir. Y ahora tenemos estas ramas aquí mismo, y tenemos la rama maestra, y este es nuestro compromiso inicial. Excelente. Ahora tenemos un respaldo a nuestro proyecto. Entonces, cualesquiera que sean los cambios que hagamos a nuestro proyecto, siempre
podemos volver a nuestro compromiso inicial. Y si rompimos el proyecto, simplemente
podemos arreglarlo con el clic de un botón del ratón. Entonces lo siguiente es tu reto. Tu reto es configurar el archivo dot git ignore. Por lo que necesitas crear tu primer proyecto 2D en Unity hub. Es necesario crear un repositorio y un árbol de fuentes para el proyecto. Necesitas ignorar todas las carpetas de la biblioteca y crear tu primer comentario. Entonces, adelante y haz eso. Y te veré en sólo un rato. De acuerdo, así que bienvenido de nuevo. Aquí entraremos a nuestro cubo mágico, un proyecto. Adelante y entrémonos en eso. Espere a que se abra. Debería abrirse bastante rápido. De acuerdo, así que sigamos adelante y hagamos algo justo aquí, simplemente
entraremos en nuestros activos aquí arriba y tal vez crearemos algo. Veamos qué debemos crear sprites de CO2. Y simplemente creemos un cuadrado. Llamaremos a esta plaza de taco mágico. Y Ahora simplemente lo arrastraremos a nuestra escena. Y ahora tenemos un cubo mágico en medio de nuestra escena. Si hacemos clic en w, que cambia, cambia la de las teclas justo aquí, simplemente
podemos levantar eso y asentarnos en la posición 0 o seguir adelante y restablecer la transformación y ponerla aquí mismo. Control S para guardar todo. Y ahora si vuelves atrás y árbol fuente, puedes ver que tenemos cambios no comprometidos. Entonces haga clic en los cambios no comprometidos. Se puede ver un archivo en el escenario que
tenemos algo que hemos agregado un gestor de activos cubo PNG aquí.me es algo que la unidad usa y se agregó y hemos hecho algunos cambios en la escena de activos, escena de muestra. Entonces escenifica todo. Y ahora podemos dar click aquí en commit en la esquina superior izquierda. Llamaremos a esto añadido el taco mágico. Haga clic en Comprometir. Y ahora todo guardado IR de nuevo al maestro. Y se puede ver que tenemos un commit inicial y hemos agregado el cubo mágico. Excelente trabajo. Sé que esto puede no ser muy guay, pero confía en mí, esta es una habilidad fundamental para cuando te conviertas en un desarrollador profesional de juegos. Y te estaré viendo en el próximo video.
8. Impresión con Debug.Log(): Bienvenidos de nuevo a todos a otro video increíble. En este video vamos a estar imprimiendo cosas a nuestra consola, pero no usando print, sino usando debug dot clock, lo que nos permitirá agregar advertencias y errores. Y lo haremos usando un guión que hemos creado en nuestro proyecto. Lo estaremos agregando a nuestro cubed mágico. Entonces como puedes ver a un inspector, tenemos este guión adjunto en este momento y estaremos creando algún código que muy aterrador, pero no demasiado. Y finalmente estará comprometiendo nuestro proyecto. Entonces empecemos. De acuerdo, entonces lo primero que necesitas es esta ventana de consola. Si no lo ves todavía, simplemente
puedes entrar en ventana y entrar en nuestro mientras que, por lo que es en general, consola. Simplemente haga clic en él y debería obtener esta ventana de consola. Estará aquí arriba en alguna parte. Simplemente puedes docket junto a nuestro proyecto. Está bien, genial. Si miras de cerca, puedes ver que tenemos un colapso claro y claro. Tan claro lo que hace es que borra toda nuestra consola. Lo he comprobado en claro sobre juego. Tenemos coloreado, lo que significa que cuando hemos sufrido todos los mensajes que son iguales, es simplemente coleccionar, los colapsa en un solo mensaje. Y aquí a la derecha, podemos ver que tenemos tres botones que podemos comprobar y desmarcar. Uno de ellos son mensajes, el medio son las advertencias. Y a la derecha tenemos los errores. Ésos son los mensajes más aterradores que podemos recibir. Está bien, genial. Entonces a continuación vamos a crear nuestro guión C-sharp. Ya estás familiarizado con ello. Entonces ve a nuestro proyecto, haz clic derecho. Vaya a Crear y haga clic en C script agudo. Siempre que quieras nombrar algo como esto, asegúrate de nombrarlo correctamente la primera vez que hablamos de esto. Entonces, ¿qué le vamos a nombrar? Simplemente nombremos a este Q. Haga clic en entrar. Ahora tenemos nuestro script de cubo. Excelente. Para que podamos abrir el sub haciendo doble clic en él. Y Visual Studio compilará, esperándolo. En cualquier momento ahora, cargando soluciones. Y deberíamos tener todo dentro. Oh, bien, genial. Entonces como puedes ver, ya
tenemos algún código y aquí no queremos preocuparnos por eso. Lo que estaremos haciendo es entrar en nuestro método de inicio. Y dentro vamos a estar imprimiendo a nuestra consola. Ahora bien, si pasaste por la primera sección, tal vez
te des cuenta de que usamos print, pero ahora vamos a usar debug. Y como siempre, Visual Studio es extremadamente útil. Por lo que DBA Debug, da click en Tab, lo terminará por ti. Dot log y abra los corchetes. Y como, como ya he dicho. Anteriormente hemos usado la impresión, pero ahora estamos usando t Bach. ¿ Por qué es eso? Bueno, debug nos da más flexibilidad y control. Y técnicamente es mantequilla, y nos da mejores hábitos para la codificación futura. Entonces, ¿cuál es el mensaje que vamos a escribir aquí? El mensaje será hola, a todos. cada uno. Estoy imprimiendo desde Debug. Ok. Pon ahí este punto y coma, y ahora lo salvamos, pone un Control-S, vuelve a la unidad. Pero ahora si hacemos click en jugar, no
deberíamos ver nada. ¿ Y por qué es eso? Sólo vemos r cuadrado y la escena, pero nada está imprimiendo a la consola. Eso se debe a que no hemos adjuntado nuestro guión a nada. Entonces vamos a seguir adelante y adjuntarlo a nuestro cubo mágico. Guarda eso. Y ahora cuando hacemos clic en jugar y entrar en consola, deberíamos tener Hola a todos. Estoy imprimiendo para depurar. Excelente. Está bien. Ahora es el momento de tu reto. Y necesitarás añadir un par de líneas. Entonces, antes que nada, necesitas agregar dos mensajes que se muestran en la consola batallando también, el jugador para presionar una cierta tecla de flecha. A continuación, deberá agregar un mensaje de advertencia. Y por último, necesitarás agregar un mensaje de registro de errores. Y hora. Voy a ser un poco útil contigo aquí. Si entramos en Visual Studio, te
daré una mano. Entonces si hacemos clic en debug dot log, podemos ver que tenemos error de registro y aviso de registro. Entonces adelante y suelo ese reto. Bienvenido de nuevo. ¿ Cómo hiciste eso? No es un reto muy duro, pero podría ser complicado si solo estás empezando. Entonces vamos a crear nuestro registro de puntos de depuración. Y vamos a cambiar esto aquí, se lo dirá al jugador. Si presionas la flecha arriba, saltarás. Y abajo tenemos razón. Si presionas la flecha derecha, te moverás O, k Y ahora tendremos que crear una advertencia. Entonces sigamos adelante y hagamos esa advertencia de reloj de charla. Y simplemente cuando abres los corchetes, puedes hacer clic en cualquier cosa. Si presionas el espacio, no pasa nada. Y por último, nuestro error, que será debug dot log error. Y dentro de ella, ¿qué debemos escribir? Si aplastas el teclado, no pasa nada. Simplemente lloras. Caso. Guarda esa tecla, teclado, teclado, está bien, no pasa nada. Simplemente lloras, salvo eso, vuelve a Unidad. Todo se debe compilar y si hacemos click en play, hola, bien, genial. Entonces si presionas la flecha arriba, saltarás. Si pulsas la flecha derecha te mueves. Y tenemos una advertencia de que si presionas el espacio, no pasará nada y un error. Si aplastas el teclado, no pasa nada. Simplemente lloras. Genial, espero que hayas disfrutado de esto. Ah, y un último paso. Haga clic en play, guarde todo, entra en la fuente tres porque tenemos cambios no comprometidos. No creo que vaya a estar haciendo esto cada video, pero debes saber que cada vez que hagamos cambios a nuestro juego, siempre
debemos comprometer etapa DM todo. Da click en Commit aquí en la esquina más a la izquierda. ¿ Y cómo debemos llamar a esto? Llamaremos a esto agregando un script con el bulk, el punto a granel Log Insight. Está bien, genial. Comete eso. Y lo tenemos en nuestra rama maestra. Y te veré en el siguiente video.
9. Variables 101: Bienvenidos de nuevo a todos a otro video. hoy vamos a aprender sobre las variables. Entonces aprenderemos cuáles son las variables. Aprenderemos cómo declaramos esas variables. Y vamos a aprender cómo estas variables hacen que nuestro código sea más flexible. Entonces como puedes ver aquí, tenemos algunos tipos diferentes de mensajes porque hemos integrado esas variables en todo el rezago. Y aquí en nuestro código vemos que tenemos tres nuevas variables. Uno es entero y el segundo es una cadena. Y tenemos también un lope. Y hemos agregado esas variables a nuestro registro de puntos de depuración. Entonces, no perdamos tiempo y empecemos. Entonces variables, ¿qué son variables? Bueno, podemos pensar en variables como cajas. Tienes una caja que llamamos vidas, y queremos poner alguna información o algo dentro de esa caja para sostenerla. Por lo que ponemos un tres dentro de ella. Y qué es ese tres mientras es un número entero. ¿ Cómo escribimos eso en código? Bueno, tenemos esta forma de escribirlo. Se trata de un N2, lo que significa que un entero vive es igual a tres. Pero, ¿qué significan estos? Bueno, en primer lugar, tenemos el tipo de la variable. Tenemos el tipo aquí es entero. Tenemos el nombre de nuestra variable, que es Vidas. Y por, si bien es una tradición común codificar, si lo desea, de nombrar la variable donde la primera letra nunca será b mayúscula, y todas las demás palabras dentro del nombre de la variable serán capitalizadas. Y por último, tenemos los datos y los datos deben reflejar el tipo que le damos. Entonces, ¿qué otros tipos tenemos? Tenemos variables flotantes, por ejemplo, si queremos hablar de velocidad y velocidad tiene puede ser 4.8. Y la forma en que lo escribimos a medida que escribimos velocidad de flotación y 4.8 F, siempre que queramos hacer una variable flotante, agregamos al final de la misma. Y luego tenemos a Booleano. Y como pueden ver aquí, hemos nombrado es que somos la primera palabra de no está en mayúscula, mientras que la segunda está en mayúscula. Y el bool o un booleano puede ser cierto o puede ser falso. Y también tenemos una variable String. Y string value significa que tiene, es una cadena de caracteres. O por ejemplo, aquí tenemos la caja llamada mi nombre, como se puede ver también, la segunda palabra está mayúscula. Escribimos nombre de cadena igual a Michelle, que soy yo. Y lo ponemos dentro de una caja, y ahora tenemos una variable de derramamiento. Está bien, genial. Entonces, ¿cómo vamos a traducir eso a nuestro código personal? Vamos a hacer esto, bueno, lo que realmente sucede es que los objetos de valor hacen nuestro código más flexible. Nos ayudan. Manipula el código de una mejor manera. Demostremos eso. Volvamos atrás. Volvamos y a nuestro Visual Studio, y sigamos adelante y creemos un valioso. Entonces primero que lo primero, si creamos una variable dentro de start justo aquí, solo
podemos usarla dentro de start, pero si la escribimos fuera de nuestro método de inicio, podemos usarla en cualquier lugar que deseemos de nuestro código. Entonces hagámoslo primero. Entonces, ¿qué variable debemos usar? Bueno, vamos a crear una variable entera. Entonces digamos que tenemos un entero, le nombraremos a este número entero de veces, y le asignaremos un valor de, digamos cinco. De acuerdo, guarde eso. Y como puedes ver, es blanco y negro o es un poco transparente. Eso significa que aún no hemos usado y ahora vamos a usarla. Entonces si seguimos adelante y depuramos el registro de puntos, dice
que si presionas la flecha derecha, te moverás. Entonces sigamos adelante y le agreguemos algo. Para agregar una variable, simplemente
hacemos lo siguiente. Haga clic en el espacio, cierre el corchete o la pequeña columna aquí. Y luego escribimos plus, escribimos número y Visual Studio. Como siempre, esto es nuestro mejor y nos ayuda simplemente hacer click en pestaña en acabados, y eso lo guardamos. Y ahora tenemos una variable dentro de nuestra depuración. Veamos qué pasa y visuales. O sea, en Unidad. Adelante y despejemos todo esto y pinchemos en jugar. Y como puedes ver aquí en nuestro mensaje, si presionas la flecha derecha cinco, te moverás. Deberíamos haber sumado cinco veces, pero se obtiene la imagen. Entonces ahora agreguemos una variable de cadena. Así que sigamos adelante y pinchemos aquí mismo. String nombrará este nombre de la KI. Y nuestra cadena será, digamos espacio, espacio, espacio. Y ahora queremos agregarla a la advertencia por ejemplo. Entonces en lugar de escribir espacio aquí, simplemente
abrirá esto y lo cerrará del otro lado, ¿verdad? Además y nombre de la clave. Y luego otro plus. Y ahora tenemos una variable de cadena dentro de nuestra advertencia de registro. Nos ahorramos eso, volver a Unidad. Y cuando hacemos click en play, deberíamos ver aquí que es espacio. Bueno, eso no fue de mucha ayuda porque no sabemos si funciona. Entonces cambiemos esto del espacio dos. Y hagamos esto también o capitalizado, salvo eso, volvamos a Unidad. Haga clic en play y esto debería cambiar para entrar. Y lo hizo. que puedas empezar a ver cómo flexible el uso de la variable hace nuestro código. Entonces en lugar de ir y buscar cada nombre único, simplemente
podemos agregar una variable y cambiarla desde arriba y todos los usos posteriores de la misma y nuestro código cambiará. Entonces, ¿ahora qué? Bueno, creo que ya sabes, porque es hora de tu reto y tu reto es crear tu propia variable. Por lo que necesitas crear una variable de tipo string y usarla dentro del, dentro del debug.org, que ya hicimos. Así que adelante y haz tu propia variable. Vamos a crear una variable de tipo entero y usarla en una de las advertencias. Y por último, vamos a crear un flotador y usarlo dentro de los registros de errores. Así que pausa el video ahora mismo y ve, intenta y haz lo mejor que puedas. No te preocupes por estropear las cosas. Por eso tenemos control de versiones. Te veré en un segundo. Ay, kay, bienvenido de nuevo. Entonces, ¿cómo pudiste en fue que no debería ser demasiado duro. Entonces sigamos adelante. Hemos creado nuestra cadena, hemos creado nuestro entero. Ahora es el momento de nuestras variables de flotación. Entonces sigamos adelante y creamos un flotador. ¿ Cómo debemos llamar a esto? Llamaremos a esto a una velocidad, simplemente
llamaremos a esta velocidad. Velocidad de rotura. Y haremos este valor 4 o peso hará que este 6.94. Oh, bien, genial. Y he cometido un error aquí. Debe ser 6.94. De acuerdo, así que sigamos adelante y agregémoslo aquí y nuestro error de registro de puntos de depuración. Entonces si rompes el teclado, eso va a mirar aquí a una velocidad de, simplemente
agreguemos esto. ¿ Y qué debemos escribir aquí? Velocidad de rotura. Haga clic en otro plus. Y ahora si volvemos a Unity, cobramos en Play, debería decirnos que si aplastas el teclado a una velocidad de 6.94, no pasa nada. Simplemente lloras. De acuerdo, espero que hayan disfrutado el video. Sé que las variables y los mensajes en el registro de depuración no tienen mucho sentido ahora mismo, pero lo verás más adelante. Será muy importante. Entonces te veré en el siguiente video.
10. Respondiendo a la entrada del jugador: Bienvenidos de nuevo, mis compañeros desarrolladores de juegos. En este video, vamos a estar respondiendo a la entrada de nuestro reproductor. Y eso sucederá. Qué bien click en jugar ahora mismo no vemos mensajes de
enemigos hasta que presionamos la flecha arriba. Da, nos da un mensaje que nos dice arriba tecla de flecha fue presionada. Y si presionamos la flecha izquierda nos dice risas, vale, me presionaron, flecha
derecha y la flecha abajo, y lo hicimos usando, usando alguna regla de código mágico. Muy aterrador, pero no te preocupes por ello. Te llevaré paso a paso. Y de hecho, en este video, vas a hacer eso, no yo. Entonces, empecemos. Ah, bien, así como sugiere el título de este video, vamos a estar recibiendo la entrada de nuestro jugador. Y para eso usaremos, por ejemplo, la flecha arriba, la flecha derecha o la flecha izquierda. Y en base a eso, vamos a imprimir algo en nuestra consola. Pero en este video, estaremos haciendo algo diferente. Porque mi objetivo en este curso no es sólo mostrarte cómo crear un juego. Yo quiero que vengas un experto solucionador de problemas. Entonces en este video, voy a contar el problema que tenemos. Y yo tomaré, te llevaré paso a paso en cómo suelo resolver mis problemas. Entonces lo primero que vamos a hacer es que vamos a pensar en el problema. Por lo que el principal problema es que necesitamos obtener la entrada de
nuestro jugador de una cierta tecla que presionó. Él o ella por supuesto presiona. Por lo que las palabras clave para buscar nuestra entrada y clave. Y siempre que nos enfrentamos a algo que no conocemos, la unidad tiene un gran sitio de documentación. Por lo que en realidad podemos buscar en Google. Entonces entramos a Google y simplemente escribimos entrada. Unity obtendrá todos estos resultados de búsqueda. Pero lo que estamos buscando es la documentación que es la unidad de entrada de API de scripting. Haga clic en eso. Nos lleva a esta documentación. Entonces vemos que tenemos entrada, tenemos la escritura. Siempre puedes leer toda la documentación, pero por supuesto liderarla, léala más tarde. No tienes que ponerte específico en cada detalle, solo un vistazo para ver qué tiene. Entonces a medida que nos desplazamos hacia abajo y sabemos que necesitamos una llave que nos diga qué tecla presionó el jugador. Podemos ver que aquí tenemos múltiples métodos estáticos. Y uno de ellos se llama get C0, que devuelve un verdadero mientras el usuario mantiene presionada la clave identificada. Ahora, como dijimos, nuestro problema es, no consiste en que un jugador se mantenga agachado. Nosotros sólo queremos devolver algo o obtener una respuesta de la obra, de nosotros, del juego. Siempre que un jugador haga clic o presione un botón no mantenga presionado. Entonces si lo leemos a continuación, podemos ver eso. Devolver true durante el fotograma para el usuario comienza a presionar hacia abajo la tecla identificada por nombre. Esto parece algo que nos vendría bien. Por lo que hacemos click en get keydown y nos lleva todavía a i otra documentación de Unity. Y aquí es donde comenzamos a leer nuestra descripción, que dice que devuelve un verdadero durante el marco, el usuario comienza a presionar el abajo identificado por nombre, caret. Esto es lo que necesitas. Y aunque estés si no sabes cómo codificarlo realmente, si te desplazas un poco hacia abajo, puedes ver que tenemos múltiples ejemplos de esto. Y aquí tenemos este increíble ejemplo el cual nos dice que
en realidad están poniendo este get Qi Dao dentro de Update y usando algo raro, que es un si con algunos paréntesis y no sé qué es eso. Es tan raro, es tan difícil. No nos moleste la cabeza, simplemente
copiemos esto. Entonces copiaremos esto. Y por supuesto estaremos explicando si las condiciones después. Y volvemos a nuestro Visual Studio. Y como nos dijeron en el ejemplo, lo
pegaremos dentro de actualización. Oh, bien, genial. Entonces una pequeña x, hago una pequeña explicación de lo que realmente estamos haciendo aquí. Entonces si la condición funciona, como dice, si algo dentro de este lugar aquí, dentro de estos dos corchetes es cierto, vamos a ejecutar cualquier código dentro de estos dos corchetes rizados. No te preocupes si las condiciones, si eres nuevo en ellas, las estarán explicando en mayor profundidad en videos posteriores. Pero por ahora, pega esto dentro de la actualización, guárdelo, y volvamos a Unity. Haga clic en jugar. Ahora presionamos la barra espaciadora. La tecla Space fue presionada, presionada, presionada y presionada. Oh, está bien, tasa de chicas. Pero como hemos dicho, no estamos buscando el espacio. En realidad estamos buscando la flecha clave. Entonces, ¿cómo vamos a hacer eso? Bueno, esperamos que nuestro buen amigo Visual Studio ayude y lo haga. Entonces si hacemos doble clic aquí en el espacio y lo eliminamos, y eliminamos el punto pequeño. Y si volvemos a hacer clic, como vemos, nos da
mucho, muchas opciones. Entonces, ¿qué buscamos? Estamos buscando la flecha arriba. Entonces escribamos Arrow. Y voila. Nos da todas las opciones que podemos usar. Y una de ellas es la flecha arriba. Así que basta con hacer click en pestaña y ahora debería funcionar cuando presionamos la flecha hacia arriba. Entonces vamos a quitar esto y en realidad en lugar de espacio, escribimos flecha arriba. Oh, no, no. Disculpe. Entonces guarde eso. Volvamos a Unidad. Ah, vuelve a Unity, despeja todo eso y haz clic en play. Espere a que se compile. Y ahora si presionamos la flecha arriba, deberíamos levantarnos. Se presionó la tecla de flecha. Oh, bien, genial. Una cosa más que quiero hacer. Vamos a comentar todos estos fuera. Y la forma en que hacemos eso es con dos barras inclinadas contrarias tal como tenemos comentarios aquí dentro. Sólo para que no se interpongan en el camino. Y ahora es el momento de tu reto. Y tu reto es terminar el resto. ¿ A qué me refiero con terminado el resto? Bueno ahora tienes que terminar. Si el jugador empuja la flecha hacia abajo. Si el jugador empuja la flecha izquierda. Y un pequeño reto extra para los de ustedes ahí que están muy motivados si el jugador empuja la barra espaciadora, pesar de que ya lo hemos hecho, quiero ver cómo lo hacen. Así que pausa el video ahora mismo y sigue adelante con el reto de gaye. Bienvenido de nuevo. ¿Cómo te llevaste con eso? Entonces, simplemente sigamos adelante y copiemos esto. No hay vergüenza en copiar y pegar código, a
pesar de que es mejor encontrar una mejor manera de hacerlo. Entonces, ¿qué vamos a estar usando? Y aquí estaremos usando la flecha de cabeza hacia abajo. Y copiaremos esto también y nos ahorraremos tanto tiempo como sea posible arriba, flecha abajo. Y aquí dentro vamos a usar la flecha izquierda. También copia eso. Y sólo por el bien de ser aún extra, nerdy hará uno por la flecha derecha. Flecha derecha. Copiar eso. Y aquí estamos simplemente flecha derecha. Hagamos que esta letra mayúscula guarde eso. Y ahora si volvemos a Unity y hacemos clic en play, todo esto debería despejar. Y ahora si presionamos la flecha arriba, nos levantamos tecla de flecha estaba presionada. Flecha izquierda, tecla de flecha izquierda estaba presionada derecha y abajo. Todo está funcionando bien. Y antes de irnos, no olvides cometer nuestros cambios. No te preocupes si tengo algunos cambios extra aquí. Estos son sólo experimentos. Entonces escenifica todo. Haga clic en Comprometir y escribiremos aquí, agregó un par de entradas de capa. De acuerdo, así que comentan que todo está funcionando bien. Es una hora maestros, y los veré en el siguiente video.
11. Agrega cuerpos y colores rigidos: Bienvenidos de nuevo mis amigos a otro video. Y este va a estar usando cuerpos rígidos y estaremos usando colisionadores de cajas. ¿ Qué, cómo los vamos a usar? Los usaremos agregando componentes. ¿ Y por qué los vamos a usar? Bueno, porque ahora nuestros cubos no son solo imágenes, en realidad caen. Y no sólo caen, sino que los atrapan usando plataformas que hemos creado. Entonces, no perdamos más tiempo, y empecemos. Entonces ahora, si hacemos click en play, nuestro Cubo no hace nada interesante. Y lo que queríamos es que por lo menos queremos hacerlo. Entonces, ¿cómo hacemos que caiga este cubo? Y de ahí, ¿cómo le agregamos gravedad y lo hacemos un objeto físico real? Hacemos eso usando un cuerpo rígido. ¿ Y qué es un cuerpo rígido? Bueno, el control del cuerpo rígido nos permite
controlar la posición de un objeto a través de la simulación física. No, es un puñado. Son palabras grandes. Pero si vas a una unidad son documentaciones que te he dejado y los recursos que realmente puedes leer todo sobre cuerpos rígidos. Y el objeto de cuerpo rígido será tirado hacia abajo por gravedad sin agregar ningún código, cual es increíble y exactamente lo que necesitamos. Entonces, entonces si volvemos a Unidad, en realidad
podemos entrar en nuestro cubo mágico. Y si miramos aquí a la derecha a nuestro inspector, podemos ver que tenemos una transformación, tenemos un renderizador sprite, y tenemos el cubo. Entonces transform nos dice la posición en la que está r cubo. El renderizador sprite realmente renderiza nuestro cubo. Entonces si lo apagamos, lo
ponemos, se va, lo vuelve a
encender, se vuelve atrás, y el cubo es nuestro guión. Entonces hagamos que todos estos sean más pequeños. Y tenemos aquí este botón el cual nos permite agregar componentes. Por lo que si hace clic en agregar componentes, en realidad
podemos buscar cuerpo rígido. Y tenemos dos cuerpos rígidos. Uno es el cuerpo rígido, que se utiliza para el mundo 3D. Y el cuerpo rígido que necesitaremos, que es Cuerpo Rígido 2D. Haga click en cuerpo rígido a d. Y ahora podemos ver que
tenemos muchas opciones e información y restricciones y tipo de cuerpo y Masa. No te preocupes por todos estos. No los usaremos a todos. Pero si te interesa y quieres adentrarte en el objeto cuerpos rígidos, puedes leer todo sobre ellos en la documentación de Unity. Una cosa que voy a estar mirando es el tipo de cuerpo moribundo, que tenemos dinámico, cinemático, y estático. Ahora, más adelante profundizaremos aún más en estos tres. Pero por ahora lo que hay que entender es que la dinámica es cuando nuestro cuerpo está sometido enteramente al mundo de la física que lo rodea. Cinemático como cuando nuestro cuerpo no se ve afectado por la gravedad, pero podría verse afectado por otras fuerzas y estático como un objeto que no se mueve en absoluto, pase lo que le pase. Entonces necesitamos r cubo para ser cuatro ahora, dinámico. Por lo que hemos agregado un cuerpo enfilado. Guardemos eso. Y vamos a dar click en jugar y ver qué pasa. Si hacemos click en play, ¿cuáles son su cinturón D o nuestro cubo mágico va hacia abajo y se ven hojas y no tenemos idea de dónde fue. Se va a Arno, lo que se llama ahí abajo, tal vez ayuda o algo así. Pero desaparece. Entonces, ¿cómo vamos a sostenerlo? Porque por ahora no es esa magia. Eso haremos usando colisionadores. Y lo que nuestros colisionadores, ¿Qué es un colisionador? Un colisionador hace posible que los objetos interactúen y, por lo tanto, choquen entre sí. Entonces cuando nuestro Collider o, o cuando nuestro cuerpo tiene un colisionar y toca un otro cuerpo que tiene un colisionador. Se chocarán y se detendrán unos a otros. Lo usaremos para atrapar objetos que se están cayendo, están cayendo por la gravedad. Entonces vamos a utilizar este colisionador con el fin de atrapar el objeto que tenemos. Entonces volvamos a Unity y cerremos este cuerpo rígido y agregamos otro componente. Y en realidad podemos buscar colisionador. Y como pueden ver, de inmediato tenemos toneladas de opciones. Tenemos colisionadores de caja, tenemos colisionadores de caja a la
cápsula, cápsula al circo, círculo al So, porque estamos usando R cube o cuadrado, estaremos usando un Box Collider 2D, que es ultra simple. Y como puedes ver, también tenemos toneladas y toneladas de opciones. Se puede leer todo sobre ellos. Yo por supuesto, levantado y los recursos. Pero una cosa en la que tenemos que centrarnos es en esto es disparador, y esto será útil más adelante en el curso. Pero por ahora, solo acerquemos y veamos qué tenemos. En realidad podemos ver nuestro colisionador de cajas. Es verde. Es una línea verde alrededor de nuestra caja, pero no podemos verla en este momento. El modo de verlo es si hacemos click aquí en el colisionador de edición. Y en realidad podemos hacer que este colisionador sea más grande, hacerlo de esta manera, y de esta manera, y en realidad hacerlo fuera. Entonces este es el colisionador es, aquí es en realidad donde nuestro objeto estará colisionando con los objetos. Entonces, reiniciemos todo eso. Y vamos a ver qué pasa si hacemos click en play. Tan emocionante. Y luego o, no pasa nada. ¿ Por qué es eso? Es porque tienes un reto y tu reto es atrapar a la caída un cubo. No te preocupes, no te dejaré sola. Porque antes que nada, necesitas crear otro cubo y dimensionarlo al tamaño de la plataforma. ¿ A qué me refiero con eso? Bueno, necesitas hacer nuestra plataforma desde este extremo justo aquí todo el camino hasta el otro extremo con el fin de atrapar nuestra cola. Entonces eso es continuo con el, De ahí crear un cubo más y convertirlo en una plataforma y un cuerpo rígido. Y que no se olvide de cambiar el cuerpo rígido tipo dos, estático. Y por último añadir un colisionador a nuestra plataforma y atrapar nuestro cubo. Así que pausa el video ahora mismo, dale toda tu atención, dale tu concentración completa. Y no te preocupes por cometer errores, porque los errores son la mejor parte del aprendizaje. Tú. O haces algo bien. O lo haces mal y aprendes de ello. Así que tómate tu tiempo y haz el reto. De acuerdo, bienvenido de nuevo. ¿ Cómo te pusiste con eso? Espero que no te limites a mirar la pantalla como cinco segundos hasta que el video continuara. De acuerdo, entonces ahora tomamos nuestro cubo mágico y lo que haremos es duplicarlo. Y podemos duplicarlo de dos maneras. Podemos o bien hacer clic aquí y hacer duplicado de CO2, lo que creará un cubo de juego más. O simplemente podemos dar click en Control D. Y ahora tenemos otro cubo. Si lo tomamos aquí abajo, Hagamos este cubo un poco más grande. Y la forma en que vamos a hacer eso es escalándolo. Entonces aquí tenemos la escala en la dirección x y tenemos escala en la dirección y y en el zed. Pero porque es martes a una escala de todos modos. Entonces volvamos a traer Y 21. Y vamos a aumentar la escala x hasta que encaje entre los dos lados de nuestro juego. Ahora tenemos una plataforma, y vamos a diferenciar un poco entre ellos. Entonces hagamos que esta plataforma sea un poco más oscura. Podemos cambiar el color en nuestro renderizador sprite. Aquí tenemos el color. Y si hacemos click en él, podemos hacerlo un poco gris o negro ish. Entonces hagámoslo negro y haremos la plaza aquí. Hagámoslo el, mantenerlo blanco o hacerlo un poco gris. A ver, tal vez sólo lo mantengamos blanco y cambiemos el fondo. Ooh, muy divertido. Entonces podemos entrar en cámara y en realidad cambiar el color de fondo, lo que hará que Gray o case parezca lo suficientemente grande. Y bajemos este cubo mágico en realidad, cambiemos su nombre a la plataforma. Oops, ¿verdad? Plataforma. Y ahora tenemos nuestra plataforma que está bajando esto. Y estos son los bordes de nuestra cámara. Entonces ahora si guardamos eso y oh, me olvidé de algo y cosa buena me acordé. Hacemos click en plataforma y no te olvides de hacer esta estática o de lo contrario simplemente se caerá,
caerá en lo que sea abajo que sea. Haga clic en jugar. Y ojalá, sí, aguanta. Increíble. Esperaba que te gustara el video. Ojalá lo hicieras todo y comprometieras todo lo que hemos hecho. Tan comprometido. Añádalo. Bueno, en realidad hizo caer mi cubo mágico y lo sostuvo con una plataforma usando cuerpo rígido y colisionadores. Esa tasa de chicas. Entonces escenifica todo comentario, y te veré en el siguiente video.
12. Agrega magia al cubo: Bienvenidos de nuevo chicos a un video totalmente nuevo. Y como se anuncia en este video, cuando hacemos clic en play, nuestro q se convierte en magia. ¿ Cómo es eso? Bueno, si presionamos hacia arriba, salta. Si presionamos a la izquierda, se va a la izquierda. Si presionamos a la derecha va a la derecha. Y si subimos arriba, arriba, arriba, arriba, en realidad
podemos presionar hacia abajo, abajo, abajo, abajo,
abajo, y hacer que regrese más rápido a la Tierra. Entonces, empecemos. De acuerdo, entonces lo primero que haremos es que necesitamos una referencia a nuestro cuerpo rígido. ¿ A qué me refiero con una referencia a nuestro cuerpo rígido y por qué lo necesitamos? Por lo que referencia a un cuerpo rígido significa que vamos a escribir aquí público y no te preocupes por público lo explicará más adelante. Pero por ahora, público significa que cualquiera puede usarlo. Tan público, cuerpo rígido, es una variable de tipo, cuerpo rígido. Y lo llamaremos mi Cuerpo Rígido 2D. De acuerdo, guarde eso. Ahora bien, ¿cómo vamos a decirnos que es el cuerpo rígido sobre objeto actual? Bueno, si volvemos a Unidad,
despejen esos mensajes, advertencias molestas. Y si hacemos click en q justo aquí en el inspector, podemos ver que ahora tenemos una ranura vacía para un cuerpo rígido. Entonces si hacemos click en el pequeño círculo a la derecha, podemos ver que tenemos el taco mágico o el cuerpo rígido de la plataforma. Entonces sigamos adelante y pinchemos en el cuerpo rígido de nuestra cola. Haga doble clic en eso y diga eso. Algo que noté es que si hacemos click en nuestra plataforma, oh, en realidad es, les hicimos bistec. No debemos agregar el cuerpo rígido. De hecho, deberíamos quitar el cubo. Entonces, eliminemos el componente de cubo de la plataforma porque no necesitamos mover eso. Algo que deberíamos haber hecho en el video anterior. Pero eso no es problema. Vuelve al cubo y ahora le agregamos un cuerpo rígido el cual es mágico QP. Excelente. Entonces guarde eso. Ahora tenemos una referencia a nuestro cubo. Lo siguiente que vamos a hacer es añadir velocidad a nuestro cuerpo rígido. Entonces si pasaste por la documentación
del cuerpo rígido en unidad, en documentación de Unity, creo que te has dado cuenta o tal vez no lo hiciste, pero hay un componente o cómo lo llamamos una propiedad y mi cuerpo rígido que podemos usar con el fin de manipular la velocidad. Por lo que ahora nuestras teclas de flecha ya no imprimen cosas en la consola. Nuestras teclas de flecha ahora en realidad manipulan la velocidad de nuestro cuerpo rígido. Entonces hagámoslo. Entonces para acceder a la velocidad, escribiremos mi Cuerpo Rígido 2D, que ahora tenemos una referencia para velocidad de punto. Velocity. Ahora, si echamos un vistazo a la velocidad, vemos y en realidad Visual Studio nos dice que es un vector a lo que es un vector también? Bueno, un vector es un vector en el espacio. Por lo que eso significa que tiene la coordenada x y la coordenada y. Ahora deberías estar bastante familiarizado con las coordenadas X e Y de la escuela. No es demasiado difícil de una matemática, pero debería serlo. Ahora, yo por supuesto, dejaré algunos recursos en el video adjunto a este video donde podrás consultar todo sobre las herramientas vectoriales. No te preocupes por ello. Es bastante sencillo crear un vector dos, sólo
tenemos que hacer es escribir nuevo vector dos y abrir los corchetes. Nada demasiado elegante. Y dentro de esos corchetes en realidad podemos
pasar por múltiples parámetros que este vector dos puede tomar. Y se necesita un flotador x, flotar y. Entonces, ¿cómo queremos moverlo? En nuestro caso, estamos presionando la flecha arriba. Eso significa que queremos que la caja se mueva hacia arriba y no se mueva a ningún sitio a sitio. Entonces, ¿cómo hacemos eso? Simplemente escribimos 0 f en la dirección x y diez F en la dirección y. Por lo que puede agregar significa que es un flujo porque nuestros parámetros nos decían que el cuerpo rígido toma flotadores. Entonces sigamos adelante y continuemos con la flecha abajo. Ahora, aunque Down Arrow, no
creo que lo estemos necesitando, pero por prácticas, práctica, razones de práctica, lo
vamos a sumar y siendo esto está abajo, en lugar de diez, f hará esto menos diez. Entonces guarde eso. Vayamos a Unity y veamos si algo realmente funcionó. Entonces haga clic en play. R cubo cae al suelo y si presionamos la flecha arriba, en
realidad salta y luego cae. Por lo que arriba, arriba y luego abajo, abajo cae más rápido. Excelente trabajo. Y ahora ya sabes qué hora es. Es hora de tu reto. Completa la magia. Por lo que hay que terminar de agregar velocidad usando la flecha izquierda, y luego hay que terminar de agregar velocidad usando la flecha derecha. Así que pausa el video ahora mismo. Adelante y haz eso. Desafío. Bienvenido de nuevo. ¿ Cómo te pusiste con eso? Espero que todo haya salido bien. Es muy fácil que simplemente copiar eso. Y ahora cuando lo sumemos a la izquierda, tendremos 0 en la dirección y y vamos a sumar menos, digamos diez. Vamos a quedárselos. Y en el caso de la flecha derecha, agregará diez AF en la dirección x direcciones y 0 en la dirección y. Volver a Unity puede faltar en el juego. Y ahora una prensa libre en la flecha izquierda. Deberíamos mover la flecha izquierda o derecha y movernos a la derecha, arriba, arriba, abajo, abajo. Todo funciona perfectamente bien. Paso final, como siempre, no
creo que vaya a seguir haciendo esto, pero por ahora sólo para ponerte en el hábito de hacerlo. Entonces activos, ¿cómo debemos llamar a esto? Bueno, hice que mi cubo se moviera a la izquierda, arriba ,
abajo, y derecha basado en las flechas, puso un signo de exclamación. Entonces comenta que te veré en el siguiente video.
13. Uso de si, else de él, y el ejemplo de él, y el discurso: Bienvenidos de nuevo a todos a otro video. Como sugiere el título, vamos a estar aprendiendo sobre si las condiciones y vamos a aprender cómo podemos manipularlas. Entonces si hacemos click en play aquí mismo FOR box se mueve a la izquierda, nuestra consola imprime que son cubos fuera de límites a la izquierda. Y si nos movemos hacia la derecha, nos dice
que nuestros cubos fuera de límites hacia el lado derecho. Y la mejor parte es que si saltamos, nos dice
que nuestros cubos fuera de los míos ataron al lado superior. Entonces, ¿cómo vamos a hacer esto usando declaraciones if? Así que ponte tus topes de concentración y empecemos. Entonces antes de empezar, hablemos de qué si las condiciones son, por qué las usamos y su estructura. Por lo que los condicionales, si afirmaciones ,
son, como su nombre indica, se
les llama que ejecutamos sólo bajo ciertas condiciones. Entonces esta es la estructura de una condición if. Lo hemos usado antes y nuestras flechas en entradas de jugadores. Entonces si alguna condición que necesita ser verdadera es verdadera, ejecutamos cualquier código que esté dentro de estos corchetes rizados. Entonces si ponemos un booleano, como hemos dicho, un booleano puede ser falso o puede ser cierto. Entonces si ese booleano es cierto, ejecutamos el código que está dentro de los corchetes rizados. Ahora bien, si esta afirmación resulta que no es cierta, simplemente
evitaremos o ni siquiera consideraremos lo digno, si, ni siquiera consideraremos el código dentro de la declaración if. Pero si agregamos otra más, si y como su nombre indica, es si la condición superior no lo hace, no es cierta, comprobamos por una segunda condición, que es alguna otra condición que es cierta. Y si esa declaración o condición es cierta, ejecutamos el código dentro de estos corchetes rizados. Y si ambas afirmaciones son falsas, entonces finalmente usamos algo llamado Else. Y esto no tiene por qué ser, nada tiene que ser cierto para que el alcance se ejecute sólo en todas partes. Si las condiciones arriba debieran ser falsas. Y hemos usado esta otra condición si antes. Lo hemos usado en nuestro código cuando intentamos bajar la llave del jugador. Entonces, ¿cómo funciona exactamente esto? Vamos a acercar un poco. Entonces input, esta entrada, que es una clase y unidad, utiliza la función o método, get key down. Entonces si pasas el cursor sobre la tecla adivinada hacia abajo, puedes ver que es un booleano y devuelve un verdadero durante el fotograma,
el usuario empieza a presionar hacia abajo. Entonces cada vez que nuestro jugador presiona la flecha hacia arriba, como hemos usado, como hemos dicho, lo dijo aquí. Y lo hicimos usando código de tecla, que es otra función en Unity, flecha de punto arriba. Si presiona estos, la flecha arriba. Le dice al get keydown que esto, durante este fotograma, se presionó la tecla de flecha arriba y devuelve verdadero. Eso hace nuestro taco, eso hace que este código aquí mismo Ejecute y mueve nuestro cubo. Y lo mismo es cierto siempre que usamos las otras declaraciones if. Entonces ahora lo que vamos a hacer es que vamos a estar creando nuestra propia condición si. Y lo vamos a hacer en nuestro caso para el juego. Entonces por ahora, si hacemos clic en jugar y retiramos nuestro cubo de lado a lado, cada vez que sale de los límites, cae de nuestra plataforma. Y lo que queremos hacer, primero, haremos que nuestra plataforma sea un poco más grande. Por lo que aumentará su escala. Hazlo solo un poco más grande para darle
un lugar a nuestro cubo en lugar de simplemente caer en lo que sea abajo que sea. Y ahora vamos a revisar las coordenadas de este cubo. Entonces este marco blanco de aquí es lo que nuestro juego realmente ve. Y si bloqueamos nuestra vista de juego junto a nuestra vista de escena, oh, y como puedes ver, se vuelve más pequeña. Para arreglar eso, simplemente podemos entrar en ganancia y dar click en esto aquí mismo y simplemente convertirlo en 16 por nueve. Y esto siempre debe mantener o enmarcar en las mismas dimensiones. Entonces ahora si entramos en nuestra escena, hagamos esto un poco más amplio y pinchemos en nuestra cola de juegos o cubo mágico y moverlo. Se puede ver en la parte superior derecha y el inspector que cambia la posición. Y en realidad se puede acceder a este valor. Entonces siempre que nuestros cubos salgan fuera del límite. Entonces digamos que debe ser justo aquí, que es 9.42. Por lo que siempre que salga del límite, queremos imprimir algo a nuestra consola. Y lo mismo se cumple cada vez que vamos al otro lado, que es lo que debería ser 9.40, nos conformaremos con 9.5. ¿ De acuerdo? Entonces, ¿cómo vamos a hacer eso? Bueno, usando la estructura de si condiciones que acabamos de aprender. Entonces sigamos adelante y guardemos esto y volvamos a nuestro Visual Studio. Y lo haremos dentro de objeto. Entonces, ¿qué vamos a hacer? Queremos comprobar si el cubo se ha movido fuera del límite derecho. Entonces si debemos escribir aquí, lo
primero que tendremos que hacer es acceder a la transformación de nuestro cubo o objetos de juego. Por lo que su transformación, simplemente escribir posición de punto de transporte. Y no estamos buscando ninguna posición. Estamos buscando específicamente la posición x, por lo que es X.
Así que si la posición de punto de transporte, punto x es mayor a 9.5 f, porque recuerden que es un flotador. Entonces dentro de la sentencia if, queremos ejecutar algún código. Y por ahora simplemente vamos a imprimir en nuestra consola. Entonces somos como depurar. Pero log, hagamos de esto una advertencia solo por diversión. Entonces debug dot log warning. Entonces deberíamos escribir algo dentro de ella. Nuestro cubo está fuera de límites. Al lado derecho, había dos exclamaciones para hacerlo un poco más dramático. Entonces guarde eso. Vuelve a Unidad. Espere a que se compile y comprenda lo que está sucediendo. Y ahora claro todo eso. Haga clic en jugar. Y ahora si nos movemos hacia el lado derecho, como pueden ver, nuestro cubo está fuera de límites hacia el lado derecho. Y cuanto más nos movemos, pero si nos movemos a la izquierda y no pasa nada, así que pausa eso. Y ahora vamos a hacer una declaración, otra if. Entonces si lo demás. Y luego lado de ella. Para nuestra declaración else if, vamos a comprobar si nuestro cubo va al otro lado de nuestra pantalla. Entonces es transformar. Nuevamente, accedemos a la posición
y sólo necesitamos la X. Y ahora vamos a comprobar si es más pequeño que menos 9.5 f. Y en este caso, también
vamos a imprimir una advertencia, que será nuestro cubo está fuera de límites al lado izquierdo con dos exclamaciones. Entonces hagamos esto un poco más limpio. Control S para salvar todo eso, vuelve a Unidad. Espere a que se compile, despeje todo. Haga clic en jugar. Y ahora si vamos al lado izquierdo con r cubo, nos dice
que nuestros cubos fuera de límites a la izquierda. Y del lado derecho, nos dice
que nuestro cubo estaba fuera de límites a la derecha. Pero ahora si saltamos sin cubo, no pasa nada porque es hora de tu reto y tu reto es terminar la última declaración if. Así que termina si declaración cuando nuestro jugador salga de la parte superior de nuestra pantalla, y te daré un par de pistas, tendrá que mover el cubo alrededor en nuestra escena y entender el límite superior. Y también necesitaremos usar la declaración if para imprimir en nuestra consola. Así que pausa el video ahora mismo. Tómate tu tiempo con este reto. Te veré en un rato. De acuerdo, bienvenido de nuevo. Entonces vamos a aclarar esto y veamos nuestro límite superior. Entonces si movemos nuestra cola y podemos ver a
la derecha aquí que tenemos la posición y cambiando. Y si tomamos las coordenadas y y las comprobamos
a alrededor de 5.5 r RQ sale de la vista de cámara. Está bien, genial. Entonces volvamos a nuestro Visual Studio y escribamos otra declaración if y si nuestra posición de punto de transformación. Y ahora en lugar de la x, vamos a estar usando nuestro y. entonces si nuestra posición punto de transporte punto y es mayor a 5.5 f, vamos a imprimir otra advertencia aquí. Y esta advertencia, nuestro cubo está fuera de límites al lado superior, también los puntos de exclamación, salvo eso, volver a Unidad. Esperemos a que entienda lo que hemos hecho. Haga clic en jugar. Y ahora si saltamos, saltamos, saltamos y salimos de límites, nos dice
que nuestro cubo está fuera de límites al lado superior. De acuerdo, entonces paso final, salgamos de juego, volvamos a nuestro árbol de fuentes, y ahora podemos comprometer todo. Así que quédate Joel, haz clic en Comprometerme y llamaremos a esto agregando si las declaraciones a mi juego. Haga clic en Comprometir. Y te veré en el próximo video.
14. Médicos públicos y tipos de retorno y retorno: Bienvenidos de nuevo a todos a otro video. En este video, no estamos haciendo mucha codificación, pero estaremos reestructurando nuestro código. ¿ Cómo vamos a hacer eso? Bueno, como ven, nuestro método de actualización es un poco diferente porque
extraemos todas las cosas que están relacionadas. Entonces por ejemplo, ahora tenemos un método que está moviendo nuestro cubo y está justo aquí. Y tenemos otro método que está fuera de límites. Y nuestra impresora, no sólo eso, también
hemos creado un método público que está imprimiendo desde fuera, que también tiene un parámetro. Tan emocionante. Y devuelve una cadena y se usa no dentro de cubo. Se utiliza en plataforma, un nuevo script que hemos creado. Estoy tan emocionado por este video. Espero que tú también lo estés. Entonces, no perdamos más tiempo. Empecemos. De acuerdo, entonces si nos fijamos en este momento en nuestros métodos de inicio y actualización, podemos ver que están un poco desordenados y hay cosas que no están relacionadas entre sí. Entonces, por ejemplo, tenemos todas estas condiciones si que se relacionan con nuestro movimiento de cubo. Y los tenemos justo al lado de las condiciones si que hemos creado para entender los límites de nuestra cola. Por lo que necesitamos reestructurarlos de alguna manera y para que se vea más atractivo a la vista. Entonces vamos a hacer eso usando métodos. Entonces lo que nuestros métodos, bueno, estructura de métodos son algo así, igual que tenemos el método de inicio y el método de actualización. También podemos crear nuestras propias matemáticas. Y como que parecen unos objetos de valor, pero también son una especie de diferencia. Entonces tenemos V2, en primer lugar, es el tipo de acceso, y esta es la accesibilidad. Entonces tenemos que acceder a tipos. Puede ser ya sea privado o puede ser público. Y vamos a usar ambos en nuestro proyecto. Tan privado es cuando un método sólo se usa dentro de su clase. Entonces, por ejemplo, si creas un método público dentro de cubo, solo cubo puede usar ese método. Pero si creas un método público, otros scripts pueden usar tu método. También. Entonces tenemos el tipo de devolución, y por ahora sólo hemos usado el vacío, lo que significa que no devolvemos nada. Podemos tener un tipo de retorno de entero, por ejemplo, donde un determinado método devuelve un entero, también puede devolver una cadena y puede devolver otras cosas. También tenemos un nombre de método. Por lo que los nombres de los métodos siempre deben reflejar lo que realmente hace el método. Y como conveniencia, como nombramos nuestras variables, la primera palabra lo hará todo siempre no está en mayúscula cuando estamos nombrando métodos, nuestra primera palabra siempre está en mayúscula y todas las palabras subsiguientes también se capitalizan. Y finalmente tenemos parámetros y tenemos uno. Un parámetro no tiene nada dentro de él. Eso significa que no pasamos nada. ¿ Y qué parámetros son? Son como variables que pasamos a nuestro método y podemos usarlas dentro de nuestro método solamente. Entonces, ¿cómo vamos a utilizar estos métodos estructura? Bueno, lo vamos a usar dentro de nuestro código aquí mismo. Entonces, empecemos por reestructurar algunas cosas. Entonces como ejemplo, te
mostraré cuánto más eficiente se vuelve nuestro código. Entonces, eliminemos todos estos comentarios aquí mismo. Y como puedes ver que cada vez que necesitábamos comentar estos registros de depuración, tenemos que ir y hacerlos uno por uno. Bueno, en realidad podemos usar todos estos si los resalta. Y por supuesto que estás usando Visual Studio y haces clic con el botón derecho en ellos. Se puede ver que tenemos algo arriba llamado acción rápida y refactorización. Entonces si haces clic en eso, te
dice si quieres o bien extraerlo a una función local o extraerlo a un método. Entonces si lo extraemos a un método, y por cierto, la diferencia entre una función y un método, en realidad
puedes usarlos indistintamente y como quieras. Pero las funciones suelen ser métodos que están dentro de un, otro método. Pero un método es un método que está fuera del método que estamos haciendo actualmente. Entonces es un poco confuso. Puedes usar ambos de manera intercambiable. No te preocupes. Entonces, ¿qué vamos a nombrar aquí a este método? Y lo vamos a llamar impresión a nuestra impresión igual peso a nuestra consola. Y dar click y girar. Y ahora tenemos esta función o método aquí mismo. Y como puedes ver, es un método privado que no devuelve nada porque es vacío. Y ahora si queremos comentar eso fuera, simplemente
podemos comentar esta función fuera y todo está comentado y en 1P imprimiendo a nuestra consola. Por lo que este es el primer beneficio de usar métodos. Entonces sigamos adelante y pongamos esto en actualización. Entonces si hacemos click en Control X para cortarlo, y lo pondremos a continuación actualización. Me gusta poner actualización justo debajo del método de inicio para tener una estructura agradable y cohesiva a nuestro código. Lo siguiente que vamos a hacer es que vamos a extraer a otros métodos. Entonces, en primer lugar, vamos a destacar todas
las condiciones si en nuestro AP para nuestra comida, para mover nuestro cubo. Así que resalta todos ellos, un clic derecho, crea un extracto un método. Llamaremos a esta masa moviendo nuestra cola. Y también extraeremos este método. Y haremos clic con el botón derecho ir al método de extracción. Y llamaremos a este método, ¿cómo deberíamos llamar a esto? ¿ Fuera? De límites impresora. De acuerdo, entonces ahora lamentamos el Get Back para acercarlo. Entonces ahora como pueden ver, nuestro método de actualización es muy cohesivo y, uh, podemos ver fácilmente lo que hace nuestro método de actualización. Por lo que se está moviendo nuestro cubo Y fuera de límites impresora los cheques para fuera de límites. Siempre que r cubo está fuera de límites, imprime algo a nuestra consola. Entonces ahora se puede ver que tenemos este método aquí mismo y otro justo aquí. Y finalmente tenemos la impresión a nuestra consola. Excelente. Ahora vamos a crear un segundo guión y crear un método público sólo para demostrar cómo está funcionando todo. Entonces lo primero que haremos es crear un método público justo en actualización, y llamaremos a esto, bueno, antes que nada,
hagamos público haremos de esto un vacío porque no queremos que devuelva nada por ahora, vacío público. Pero lo usaremos. Llamaremos a esta impresión desde afuera. Está bien. No tienes que hacer que tus nombres de métodos sean tan largos, sino solo por el bien de dar un ejemplo. Entonces lo que hará esta función, simplemente imprimirá algo o un determinado mensaje que tendrá Hello desde el otro lado. No sé qué de los capitalizados. No tiene por qué serlo. Entonces es Hola desde el otro lado. Volvamos a Unidad. Haga clic en plataforma porque es el único otro objeto que tenemos además de la cámara. Añadamos un componente y creemos una plataforma. Plat forma dispersa. Así Nueva plataforma Script, excelente. Vamos a seguir adelante y crearlo. Y es suficiente, pero hay que añadirle. Y ahora si nosotros, ahora lo tenemos en nuestro proyecto. Por lo tanto, haga doble clic en él y debería abrirse en Visual Studio. Y como pueden ver, ya tenemos el método de actualización del vacío y la estrella del vacío. Ahora dentro de inicio, vamos a conseguir una referencia a nuestro script de cubo y utilizar el método público que tiene. ¿ Y cómo vamos a hacer eso? Bueno, vamos a hacer eso usando algo llamado encontrar objeto de tipo. Un objeto de tipo tiene estos dos operadores
aquí mismo que necesitamos dentro de él para decir qué script vamos a usar. Por lo que encuentra siempre útil el objeto de tipo cube y Visual Studio. Y ahora si hacemos click en punto, podemos ver que podemos usar cualquier cosa que esté dentro del cubo. Entonces si nosotros, por ejemplo, queremos acceder al método Start, no podemos. Pero si queremos presentar, como pueden ver, nos
da el método de impresión desde fuera porque es público, tan libre. Guarda eso y vuelve a usar Unity. Y también salvemos nuestra escena y pinchemos en play. Y antes de que hagamos eso, vamos a aclarar esto. Y en cuanto hacemos click en jugar Hola desde el otro lado, ¿qué genial es eso? Por lo que hemos creado una función o un método que está dentro del cubo, pero lo estamos usando dentro sobre la plataforma. Eso es tan genial. Y esto en realidad es la base. Y es muy crucial porque lo vamos a estar usando mucho en nuestro juego en las siguientes secciones. Por lo que tu reto es crear tu propio método. Crearás un método simple con un tipo de retorno de cadena. Entonces en lugar de vacío, lo
tendrás como tipo de cadena. También le darás un parámetro entero, y lo usarás con la cadena y lo devolverás. Entonces es un reto un poco grande, pero creo que estás listo para ello. Y un pequeño indicio uso para cuerdas. Y requerirá un poco de investigación para entender y hacer el reto. Tómate tu tiempo. No, no tengas miedo de cometer errores como te he dicho, intentar y fallar no es el fin del mundo. Entonces te veré en una o. Ok, bienvenido de nuevo. Entonces ahora vamos a cambiar nuestro método sólo un poquito. Entonces en lugar de void hará de esto una cadena, y actualmente no toma ningún parámetro. Entonces le daremos un parámetro que es un entero. Y simplemente nombraremos este valor entero para que no sea demasiado complicado. Como pueden ver aquí mismo, tenemos una línea ardiente roja. Eso significa que nuestra función no está funcionando de manera adecuada, adecuada. ¿ Por qué es eso? Porque tiene un tipo de retorno, que es una cadena, pero en realidad no está devolviendo nada. Entonces, ¿cómo arreglamos eso? Bueno, tenemos que escribir aquí regresar, y necesitamos devolver cierto valor. Y cuál es ese valor, bueno, necesita ser una cadena. Entonces sigamos adelante y creemos una variable dentro de nuestra impresión desde fuera. Por lo que esta variable será una cadena. Llamaremos algo a esta impresión variable. ¿ Y qué? Tendremos que imprimir, bueno, el valor que éramos s_1 es. Y ahora podemos usar este parámetro que nos han enviado desde el otro lado. Y ahora a cambio, regresaremos, imprimiremos algo y ese viaje arreglará nuestro problema de línea roja garabateada. Pero debido a que le hemos dado un parámetro aquí en donde lo llamamos desde, también
debería darle un determinado parámetro. Entonces tenemos que darle un entero. Y ese entero, digamos, será un 4x4 o cualquier cosa. O incluso puedes crear una variable aquí mismo. Lo llamaremos entero. Llamaremos a este valor a la arena, y será igual decir nueve. Y aquí dentro, enviaremos el valor para enviar guardar que esto realmente devuelva una cadena. Entonces pongámoslo dentro de una referencia de cadena, que llamaremos cadena desde L afuera es igual. Y ahora simplemente depuraremos el registro de puntos y estaremos imprimiendo esta cadena desde afuera. Tan cerca eso, salvo eso, vuelve a Unidad. Tan claro todo. Haga clic en jugar. Y ahora el valor que nos enviaron es de nueve. Excelente trabajo. Y una cosa que quiero dejar en claro es que debido a que se trata una cadena y este método devuelve una cadena, en realidad
podemos ponerla directamente dentro de nuestro candado. Excelente trabajo a todos. Espero que el reto no fuera demasiado duro. Pensé que era un poco de paso arriba y necesita un poco de investigación, pero espero que hayas intentado lo mejor posible. Y como siempre, antes de irnos, necesitamos escenificar todo comentario. Creé mi primer método público con un tipo de devolución, comete eso, y te veré en el siguiente video.
15. Prefabs y relaciones infantil: Bienvenidos de nuevo a todos a un nuevo y muy emocionante video. En este, vamos a aprender sobre las prefabs. Y no sólo eso, vamos, aprenderemos sobre los prefabs, cómo podemos usarlos de escena en escena. Aquí se puede ver que tenemos un diamante era algo llamado colisionador de polígonos. También tenemos este cubo mágico y un pequeño círculo, pero en realidad el círculo se mueve con nuestro cubo porque es hijo de ese cubo. También podemos, también hemos creado un segundo nivel, nivel uno y nivel dos. Aquí tenemos tres cubos, como pueden ver, y por alguna razón son azules, y veremos por qué son azules. También tenemos en diamante aquí mismo. Y si hacemos clic en jugar, todos se caen, y eso es todo. Entonces, tan emocionante. Te veré en un rato. De acuerdo, entonces, ¿qué es un prefabricado? Bueno, básicamente es una plantilla para un determinado objeto de juego. Entonces si creamos un objeto de juego con todos sus componentes y su guión y su posición, podemos crear una plantilla a partir de ella para crear otros objetos de juego similares. El sistema Ap permite almacenar un objeto de juego con todas sus propiedades. Entonces digamos que nuestra periferia tiene un colisionador, tiene un cuerpo rígido y tiene un guión. Siempre que crees un prefab a partir del objeto set game, tendrás las mismas propiedades. Y entonces, ¿para qué lo usamos? Bueno, podemos reutilizar un objeto de juego configurado de una manera particular. Podemos editar muchos objetos a la vez, y podemos usar el mismo objeto y diferentes,
diferentes escenas, mucho más fácil. Entonces sigamos adelante y demostremos estos tres usos. Por lo que crear un prefabricado es en realidad muy, muy, muy simple. Tú, todo lo que tienes que hacer es simplemente dar click en lo que quieres prefab. Entonces por ejemplo, queremos preferir nuestro cubo mágico. Haga clic en él y arrástrelo a nuestro proyecto. Y ahora tenemos un prefabricado de nuestro cubo. Y ya sabes, es un prefabricado al mirar hacia arriba a la jerarquía y puedes distinguirla por, porque es un poco más azul. Excelente. Entonces ahora, ¿qué podemos hacer con nuestro prefabricado? Si hacemos click en él, se puede ver que tiene las mismas propiedades que el cubo en nuestra escena. Y ahora si hacemos click en el prefabricado y chaqueta y a nuestra escena, se
puede ver que podemos crear tres hermosos cubos mágicos extremadamente fácilmente. Y esto es muy útil de muchas maneras. Entonces demostremos cómo funcionan los prefabs. Entonces digamos que hacemos click en este cubo mágico, que vemos en la jerarquía es el número uno. Entonces digamos que queremos cambiar su color. Entonces si entramos en nuestro renderizador sprite y elegimos el color, y hagámoslo rojo. Por lo que ahora tenemos un cubo mágico rojo. lo guardamos. Y eso lo ves. Otros dos cubos mágicos siguen siendo blancos. Y por cierto, estos cubos se llaman instancias instantáneas de preferir. Y si miras de cerca en nuestro inspector, puedes ver que tenemos otra pestaña abierta. Entonces tenemos el abierto que abre nuestro preferente, que tiene el taco mágico. Podemos seleccionar el prefab y podemos sobrescribir. Y lo que esto hace. Aplica cualquier cambio que hayamos hecho a nuestra instancia actual, a nuestro breve. Por lo que las cosas que han cambiado, se
puede ver que también están resaltadas en un color azul justo aquí. Y cambiamos el color. Entonces si hacemos click en sobrescribir y hacemos click en aplicar, todo lo que debería pasar es que todas
las demás instancias de ese cubo cambiaron a rojo y aquí abajo y nuestro proyecto, se
puede ver que nuestro cubo mágico es rojo ahora, es
decir muy cool y puedes empezar a ver lo útil que es eso. Entonces digamos que volvimos a
cambiar, cambiamos de nuevo la instancia a blanca. Tomemos otro cubo y cambiemos eso a verde. Entonces ahora, si aplicamos esto a nuestro prefabricado, ¿Qué crees que debería pasar? Bueno, ¿todos se ponen verdes o sólo el que es el rojo se volverá verde? Probemos eso, aplique y ops, ya que se puede ver que sólo el prefab o que era originalmente, o la instancia de prefab que seguía siendo la misma que el original se cambia a verde, pero las que también hemos modificado no vuelven a cambiar. Por lo que los prefabs privet son un poco complicados, pero son muy útiles. Entonces, por ejemplo, sigamos adelante y eliminemos esos tres cubos. Y vayamos a escenas y simplemente duplicemos nuestra corriente vista. Por eso creamos una segunda escena. Cambiemos el nombre de esto al nivel dos. Y nuestra escena original será el nivel uno. Entonces ahora, sí, te pide precarga. Simplemente haga clic en sí. Entonces ahora en el nivel uno tenemos estos tres cubos y luego nivel dos, al parecer también tenemos estos tres cubos. Entonces sigamos adelante y eliminarlos. Guarde eso. Entonces en el nivel uno tenemos los cubos. En el nivel dos, no tenemos cubos. Entonces, ¿qué vamos a hacer al respecto? Bueno, en lugar de ir al nivel uno y duplicar o copiar los cubos, simplemente
podemos ir a nuestro proyecto y tenemos un cubo mágico. Y podemos añadirlo fácil como pastel, justo en nuestra escena. Y ahora tenemos un cubo, un cubo mágico, y nuestra escena. De acuerdo, genial, así que eso es un Prefab. Ahora, lo que bien nuestros hijos, vamos a seguir adelante y crear ir a activos. Y para crear un sprite. Y el sprite será un círculo. Entonces ahora tenemos esto, digamos circuito infantil mágico. De acuerdo, entonces circuito infantil mágico, podemos seguir adelante y agregar este circuito infantil mágico a nuestra escena. Y por cierto, este cubo mágico es el prefabricado. Esto es sólo el sprite. Por cierto, también podemos organizar todo esto. O si creamos una carpeta llamada esto sprites, podemos poner ambos en sprites. También podemos seguir adelante y crear otra carpeta llamada este guiones. Y ahora tenemos estos guiones dentro de los scripts de carpeta. Y si agregamos otro prefab, también
podemos crear una carpeta para los prefabs. Por lo que ahora tenemos este círculo mágico infantil. ¿ Por qué lo llamamos el círculo infantil? Bueno, porque lo vamos a hacer de niño a nuestro cubo mágico. Y lo hacemos simplemente tomando nuestro círculo de niños mágico y arrastrándolo justo debajo de nuestro cubo de fósforos, y ahora es un niño. Ahora, ¿qué quiere decir este niño? Si hacemos click en el círculo, podemos moverlo como siempre lo hacemos. Pero si hacemos clic en el taco mágico y lo movemos, puede ver que el círculo se mueve si eso significa que es un niño. Y si escalamos nuestro cubo, r, círculo también escalas. Y si escalamos en la dirección y, también escala si
lo escribimos. Entonces vamos a ver si rotamos. El círculo también gira y estas son propiedades de un niño crece con su padre. Y el padre es cubo mágico. Por lo que crece con su padre, se encoge con el padre, se mueve y se comporta igual que lo hace su padre. Y esto es muy útil porque a veces puede que necesitemos agregar niños. Entonces si tenemos un objeto que tiene varios objetos dentro de él y queremos que todos se muevan al unísono. En lugar de recubrir a todos los niños, simplemente
podemos recubrir las cosas al padre y los hijos se moverán con los padres. Por lo que vamos a estar usando una gran cantidad de padres hijos la relación estará usando prefab También mucho. Y ahora es el momento de tu reto. Y tu reto es crear un nuevo prefabricado. Por lo tanto, crea un nuevo objeto en nuestra escena, cualquiera que sea la escena que quieras. Prefab, hacer una instancia de la misma en una escena diferente, y añadir un componente a esa instancia. Aplicar los cambios a prefab y ver qué sucede. Y si quieres como un reto extra, también
puedes hacer una relación niño-padre en algún lugar de nuestras escenas. Así que pausa el video ahora mismo y ve a hacer el retador. De acuerdo, bienvenido de nuevo. ¿ Cómo te pusiste con eso? Espero que eso no fuera demasiado caliente. Entonces tomemos este cubo, lo
pongamos aquí, o cubo mágico, que es cuadrado, irónicamente. Y ahora vamos y sigamos adelante y creemos algo. Entonces entraremos en sprites. A ver, crearemos un diamante porque los diamantes son para el diamante. Da click en Entrar y sigamos adelante y ponerlo en nuestra escena. Y lo pondremos dentro de sprites. Ahora tenemos un compañero de clase de diamante TimeOfDay, pero más grande. Y cambiemos su color. Entonces hagámoslo un azul, porque los diamantes son una especie de azul, supongo. Entonces ahora tenemos este diamante aquí. Y cuando queremos hacer es lo que queremos. Entonces, ¿cuál fue nuestro reto? Se hizo una instancia en una escena diferente y agregar un componente a la instancia. De acuerdo, entonces tomamos este diamante y vamos a Prefab. Y ahora porque tenemos dos prefabs, vamos a crear una carpeta, llamar a esto prefabs y todo está organizado y conocer. Entonces ahora tenemos el diamante que está adelante y guarde eso. Vuelve a nuestra escena de nivel uno y tenemos tres cubos aquí, pero ahora diamante. Pero fácilmente podemos agregar uno desde nuestra jerarquía, súper fácil. Entonces vamos a añadir los componentes. Componente. Añadamos un Cuerpo Rígido 2D. Y además agreguemos un colisionador. ¿ Y qué tipo de Collider debemos agregarle? Adelante y agreguemos un círculo. Claro, ¿por qué no un circuito? Bueno, en realidad debería ser un colisionador de polígonos. Hagámoslo un colisionador de polígonos y encaja perfectamente. Y en realidad solo por diversión, sigamos adelante y lo rotemos en la dirección y. No, no en la dirección y. Quise decir en la dirección z. Está bien, genial. Entonces guarde eso. Pero ahora mismo estamos click, como pueden ver, hicimos click en el diamante en nuestra escena. En realidad hemos añadido un cuerpo rígido y un colisionador de polígonos. Por lo que no se suma a nuestro prefabricado. Si hacemos clic de nuevo en nuestro prefabricado y proyectos aquí abajo, podemos ver que no tiene ningún cuerpo rígido ni colisionador. Así que de nuevo en diamantes. Haga clic en anular, Aplicar. Y ahora en nuestro segundo nivel, guarde eso. Y nuestro nivel dos, perdón por eso. Escenas. Nivel al diamante en realidad tiene cuerpo rígido y un colisionador de polígonos, que es genial. Por lo que da click en play solo para verlo caer. El diamante cae y todo cae. Y como se puede ver, el, par, incluso el círculo cae con r cubo. Pero porque no tiene un coloidal, ni tiene un cuerpo rígido, sino que se mueve sin cubo. Por lo que espero que hayas hecho el reto. Espero que hayan disfrutado de este video y creo que este será el último video de nuestra sección. En la siguiente sección, realidad
vamos a empezar a crear nuestra ganancia. Tan emocionante. Entonces revisa esto, asegúrate de entender todo en este apartado y no
olvides comprometer siempre nuestro trabajo. Entonces llamemos a esta estancia Joel. Agrega un prefabricado de diamante y un circuito infantil a mi magia. Cu O K TG valora o convencida de que ahorró, lo
tenemos en nuestros commits aquí mismo. Y te veré en el siguiente video.
16. Sección 3: configuración de nuestro mundo: diseño de juegos: Hola y bienvenidos de nuevo, mis desarrolladores de juegos favoritos. En este video, voy a hablar un poco sobre el diseño de juegos. Y como pueden ver, he oído que empezó y ya las diapositivas de Google están muy emocionados de contarles sobre el sketch de pandillas. Por lo que el boceto del juego es el siguiente. Ahora bien, no es muy impresionante, pero va a sacar el concepto de nuestro juego alrededor. Por lo que ya has visto el video de introducción donde te
mostré el juego que ya hemos terminado. Pero ahora te llevaré a través de los pasos que me tomó para conseguir que el juego se desarrolle. Entonces primero que lo primero, he creado este mini boceto. Y como se puede ver, bueno, no
es muy impresionante, pero se hace el trabajo. Entonces lo primero que primero tenemos aquí los azulejos que definirán nuestro mundo. Y tenemos los azulejos de fondo o los combinadores mundiales justo aquí en ambos lados. Lo siguiente que tenemos son las puertas. Entonces tendremos las puertas de entrada por las que nuestro conquistador justo aquí, este pequeñito entra y empieza el nivel. Y esta es la puerta aquí que tiene que atravesar para
poder avanzar al siguiente nivel o habitación. A continuación tenemos las bombas justo aquí que he esbozado como ardiendo. Y explotarán en cuanto nos acerquemos a ellos. Bueno, no en cuanto comiencen a quemarse cuando nos acerquemos a ellos y explotarán. Eventualmente,
tenemos los corazones que podemos recoger para aumentar las vidas que tenemos. Tenemos, por supuesto, las sábanas colgantes justo aquí que podemos subir para conseguir dos plataformas que son inalcanzables. Tenemos los diamantes, por supuesto, que recogemos para aumentar nuestra puntuación. Y tenemos a los pequeños monstruos aquí mismo que intentarán atacarnos a nosotros y a Lienzo, pero tenemos el poder de martillo fuente que aplastará a cualquier enemigo y nuestro camino. Y también tenemos esta casita aquí mismo. Y si te has dado cuenta en la introducción, claro que te has dado cuenta porque te lo he dicho como diez veces, porque estoy tan orgulloso de ello. Esta es la cámara que seguirá a nuestro jugador dondequiera que vaya. Por lo que en lugar de tener una enorme cámara alrededor de todo nivelada y tener que mover a nuestro
diminuto jugador alrededor, hacemos que la cámara siga a nuestro jugador adonde vaya. Eso es muy cool y te animo a crear tu propio boceto de juegos y ver cómo quieres hacer tu propio juego. Entonces lo siguiente, hablemos de los platformers 2D porque nuestro nombre va a ser un platformers 2D. Entonces estoy seguro de que están familiarizados con un par de estos. Este es un juego reciente llamado Celeste, que muchos consideran como uno de los mejores juegos de creo que dos mil, dos mil diecisiete. No estoy seguro, pero es un juego bastante moderno. Y como puedes ver, es igual que nuestro juego donde tiene toils y tiene un personaje pixelado que se mueve en la plataforma 2D que han creado. A continuación tenemos una noche hueca. No estoy seguro si has jugado a este juego, pero es realmente increíble. Es similar a la salsa oscura y la dificultad, pero es un juego de plataformas 2D. Y he usado ejemplos modernos solo para mostrarte cuánto plataformas
2D siguen siendo relevantes en el desarrollo de juegos. Y se puede ver aquí mismo que también tiene un mosaico mapas y plataformas y fondos, y poco pixelado. A pesar de que son, pero más pulidos que nuestro juego, y no tan pixelados, pero aplica el mismo concepto. Y finalmente tenemos a Pala Knight. No estoy seguro si has jugado a la luz Chavan, pero es un juego increíble. Ya lo he jugado, lo he terminado. Es muy guay. Y como puedes ver, esto es muy similar a nuestro juego. Tiene las escaleras, tiene los enemigos, mientras que los enemigos son más grandes, y está pixelado al igual que nuestro juego. Y el ejemplo final, encontré esto en Google. No estoy seguro de quién lo hizo, pero como puedes ver, han esbozado el juego y lo pixelado y muestra las fichas que se utilizaron para crear el juego. Usaremos mosaicos similares o forma similar de amontonar nuestro juego y hacer de nuestro juego una plataforma 2D, igual que esta lo haría las plataformas de escaleras y con un fondo. Entonces castillo Conquista, diseño de juegos, ¿de qué voy a hablar aquí mismo? Entonces esta es una captura de pantalla de nuestro juego, y hablemos de la mecánica central. Entonces tendremos a nuestro conquistador corriendo, saltando, escalando, y también estará atacando. ¿ Qué más deberíamos hablar del juego básico, pero va a estar llegando desde el inicio del nivel,
desde la puerta de salida hasta el final sin ser golpeado más de tres veces. Como puedes ver, como viste en el video de introducción, te
he mostrado que nuestro jugador, o el conquistador es el jugador y nuestro juego solo tiene tres vidas. Y eso no es hablar de lo grande que en realidad puede recoger. Cada vez que lo consigue, pierde vivo y si pierdes tres vidas, terminas. Es necesario volver al menú principal. Entonces hablemos de la historia de juegos también porque eso es, podrías pensar que, bueno, ya sabes, no
creo que necesitemos una historia de juego y te equivocas completamente porque la historia del juego es, será la historia del juego el, no
voy a decir el núcleo, pero es el núcleo alrededor del cual se construye el núcleo. Entonces, ¿cuál es nuestra historia de juego? Bueno, eres un rey y acabas de heredar el castillo de tu padre. Monstruos, cerdos se lo han llevado. Y hay que derrotarlos a todos. Y hay que ir por cada habitación y tratar de aplastar a cada uno de ellos. Y también en el camino, necesitarás cobrar d1 veces. Por lo que esto hará que el vino sea mucho más interesante. Y a medida que estás jugando a través de él, puedes sentir que tienes la capacidad de hacerte
cargo de lo que sea que esté pasando en el juego y
tienes una razón para matar a los cerditos, no solo por el bien de matarlos . Tendrás una razón y estás recolectando diamantes por una razón porque tu castillo está infestado de ellos. Necesitas recuperar tu orgullo. De acuerdo, eso es un poco dramático, pero tú entiendes el punto. Siempre necesitas una historia para tu juego. A continuación vamos a hablar de todos los requisitos técnicos para crear este rey. Entonces como puedes ver, teníamos un montón de cosas. Entonces lo primero que necesitamos es un conjunto de teselas para el fondo y el primer plano con algunos elementos. Por lo que he elegido un azulejo triste que te mostraré más tarde de dónde lo saqué. Y lo dejaré, por supuesto, hasta que los recursos. Siéntete libre de ir y conseguir tus propios conjuntos de caminos. Asegúrate de tener un primer plano y un juego de fichas de fondo para nuestro juego. A continuación, vamos a usar entradas del teclado para controlar nuestra ganancia. Vamos a añadir un CAM de seguimiento que seguirá al jugador o al conquistador donde quiera que vaya y acercar y alejar dependiendo de su movimiento, como viste en el video de introducción, cuando estamos corriendo teóricos, un cierto acercar, cuando estamos parados o en ralentí, hay un cierto zoom hacia fuera y así sucesivamente y así sucesivamente. Y también creará una forma automática de agregar fondo a nuestro juego. Eso significa que eso agregará una fila, agregaremos reglas a nuestro mosaico y haremos que todo el fondo llene automáticamente todo y nos ahorre mucho tiempo. Entonces hablemos de algunas características más de jugabilidad que tendrán. Como puedes ver aquí mismo, nuestro pequeño jugador está golpeando el aire, pero a pesar de que el cerdo está un poco lejos, pero el movimiento conquistador, hemos cubierto antes, lo
hemos cubierto antes,
pero va a estar corriendo saltando y ganando el martillo. Como puedes ver aquí mismo representado en nuestra captura de pantalla, habrá peligros. Habrá bombas que lo harán, esas bombas
que arden y explotan si estamos cerca y en realidad nos pueden matar. Tendremos un punto de inicio y final, tendremos puertas por las que camina el conquistado para llegar de una habitación a otra. Y por habitación, me refiero a los niveles de nuestro Rey. A continuación tendremos las camionetas y las camionetas,
nuestras vidas en el camino para que el jugador lo recoja mientras
caminamos y todos los diamantes que puedes llevar contigo. Ahora, es hora de tu reto, y tu reto va a ser crear tu propio diseño de juego. Así que descifrar una historia para nuestro juego. Piensa en una historia convincente, una historia que haga que quien esté sentado detrás de la computadora y que vaya a jugar tu juego, se sienta emocionado y le dé razón. Dándole razón, dale la motivación para ir y matar a todos los cerdos y recoger todos los diamantes. Siguiente cosa que necesitas para averiguar la mecánica de juego que quieres. A lo mejor quieres añadir otras mecánicas de juego. Y te animo por completo, aunque no sepas cómo implementar realmente esas mecánicas. Tan solo para anotarlas, guárdalas contigo. Y en el camino, descubrirás cómo crearlos. Irás a descargar tus propios sprites y tipografías. Y como te he dicho, asegúrate de que tengas el primer plano y el fondo. Dejaré los enlaces en los recursos para que sigas adelante y descargues todas las búsquedas de los conjuntos de azulejos y sprites que quieras. O simplemente puedes usar lo mismo, que divertido, averiguar qué características quieres agregar. Entonces como les he dicho, tenemos recogiendo cosas, tenemos trepando las sábanas. También puedes agregar tus propias características. No estoy seguro de cuáles serán esos, pero por ejemplo, puedes sumar powerups. Esa es una buena idea. Así que anota eso también y averígualo por ti mismo. Y como les he dicho, esto va a ser muy emocionante y algo de bomba para empezar a crear este juego. Y espero que tú también lo seas. Entonces empecemos nuestro viaje para reunirnos, y nos vemos en el próximo video.
17. Cómo hacer trazos en la unidad: Bienvenidos de nuevo a todos. Ahora estamos iniciando un nuevo proyecto que es muy, muy, muy emocionante. Oh, bien, entonces lo primero, vamos a crear nuestro proyecto. Así que abre tu hub de unidad y entra en agregar nuevo. Por lo que será un proyecto 2D. Y le daremos nombre a esta conquista del castillo a D. Y recuerda, lo estamos guardando porque lo necesitaremos para que el repo cree. Y ahora esperamos a que se cree el proyecto. Te veré en un rato. Bienvenido de nuevo. Por lo que he acelerado el proceso de creación del proyecto Unity usando la magia de la edición. Y ahora lo
haremos, vamos a armar un nuevo informe. Entonces esto es de cubo mágico para configurar una nueva ondulación, simplemente haga clic en el botón más allá arriba. Puedes cerrar esta pestaña y dar clic en el botón Crear aquí mismo. Por lo que navegamos por nuestro camino. Entonces dondequiera que hayas guardado tu camino, entra en eso y haz clic en la conquista del castillo 2D. Seleccione la carpeta, manténgalo más tiempo mantiene el Create repositorio a cuenta sin marcar. Por ahora. Haga clic en Crear. Haga clic en sí. Y ahora tenemos un repositorio. Entonces como siempre, sabemos que simplemente debemos hacer click en la Biblioteca, ignorar todo. Ignoró todo debajo de Biblioteca. Haga clic en Aceptar. Ahora vamos al gitignore. W click open y nuestro bloc de notas. Y deberías tener todo
copiando y pegando si no recuerdas cómo lo hicimos, echa un vistazo al no estoy seguro de qué video. Creo que es el segundo video de la sección anterior. Y encontrarás de dónde puedes conseguir el gitignore o simplemente Google. Y ahora tenemos todo preparado. Por lo que simplemente vamos a escenificar todo commit y llamar a este comentario inicial. Da click en Comprometir, y ya estamos listos para irnos. Entonces lo primero que vamos a hacer es que vamos a estar importando los sprites que te he proporcionado en los recursos. Así que adelante y llévalos. Simplemente haga clic en ellos y arrástrelos a nuestro proyecto ¿verdad? Ahora antes de que empecemos, quiero tomarme un momento y explicar qué es un sprite. Entonces como esto es un Sprite, Este será nuestro héroe o nuestro conquistador. Y como puedes ver, él es una imagen. Entonces un sprite es un objeto 2D, y este objeto 2D tiene una imagen gráfica en él llamada textura. Por lo que los sprites son objetos 2D y tienen imágenes gráficas en ellos llamadas texturas. Y se utilizan agregando un componente llamado Sprite Renderer a un objeto de juego vacío. Por lo que creamos un objeto de juego, le agregamos un sprite y podemos tener una imagen gráfica sobre él. De acuerdo, entonces ahora que hemos explicado lo que es un sprite,
es hora de que creemos nuestro terreno. Entonces nuestro, antes incluso eso, es hora de que rebanemos nuestro terreno. Entonces ahora mismo, si haces click en la flecha pequeña aquí mismo, y puedes ver que es una sola imagen. Entonces lo que necesitamos hacer es rebanar. Entonces si hacemos click en él, puedes ver aquí en el inspector que tenemos muchas opciones y una de ellas como el modo sprite. Lo primero que necesitas para asegurarte de que tu tipo de textura sea de sprite 2D e IU. Y el modo sprite debe ser múltiple. Entonces haz click en eso y aplica todo y entra en el editor Sprite. Entonces como pueden ver aquí, tenemos todos estos. Por lo que las de arriba serán nuestro primer plano y las heridas de fondo serán nuestro fondo. Por lo que aquí en la parte superior, a la izquierda se puede ver que tenemos múltiples formas de rebanar nuestros sprites. Uno de ellos es automático. Entonces intentemos eso como experimentos o haga clic en diapositivas. Podemos ver que es rebanadas las bastante bien, pero eso no es lo que necesitamos. No queremos que todo este bloque sea una sola rebanada. Queremos rebanarlo en cuatro pequeños sprites. Este también, creo más que eso, creo que éste es nueve sprites. Este es para pequeños sprites. Entonces, ¿cómo podemos hacer eso? Bueno en realidad y rebanada, tenemos algo que se llama grilla por tamaño de celda o cuadrícula por conteo de celdas, estará usando la cuadrícula por tamaño de celda. Y sé que debería, el tamaño de píxel debe ser de 32 por 32. Entonces cortamos eso, hacemos clic en rebanada, y ahora tenemos nuestra hoja sprite rebanada en pequeños sprites. Está bien, genial. Y puedes hacer click en cada uno de ellos y consultar la información al respecto. Entonces esta es la lluvia, este es terreno también, y cada uno de ellos tiene un número. Ahora si tienes tiempo y quieres ser muy meticuloso con este proceso, en realidad
puedes obtener, nombrar a cada uno de ellos y hacerlo tuyo. Pero no necesitamos eso honestamente. Está bien, genial. Entonces aplica eso en este patrón aquí mismo. Aplicar eso. Y ahora tenemos nuestras sábanas cortadas, Excelente y correcta. Y esto es todo lo que tendremos que hacer y es hora de un reto. Y tu reto simplemente se va a rebanar tu propia hoja de cálculo. Así que importa cualquier sprite que elijas usar para tu juego. Te he dado los recursos, el sitio web donde puedes encontrar artes de juego gratis y simplemente importarlas, cortarlas en láminas sprite para el fondo y los montones de primer plano asegurarte de que tengas fondo y primer plano. Y como menos paso de este proceso, simplemente
vamos a crear una carpeta. Llamaremos a esto sprites y arrastraremos el terreno dentro de él. Y otra cosa tal vez cambiemos esto y nombremos a este nivel 0 porque no tenemos otros niveles, simplemente nivel 0. Ok, entonces este proyecto será genial. Tendrá un montón de sprites, dos tendrán un montón de guiones. Entonces empecemos con algún buen hábito de organización para el primer video, y nos vemos en el siguiente.
18. Mapas de mosaicos en la unidad: Bienvenidos de nuevo a todos a otro video increíble. Y este sobre todo es el mejor video, creo que en todo el curso, porque en realidad estamos creando nuestra plataforma. Como se puede ver aquí. Hemos hecho una pequeña plataforma. Tenemos el mapa de estilo por aquí a la derecha, tenemos a la izquierda también cuadrícula cartográfica AOL y nuestra jerarquía. Utilizamos todos los sprites que hemos rebanado antes para crear esta plataforma aquí mismo. Entonces, no perdamos tiempo. Estoy tan emocionado por este video. Espero que tú también lo estés. Por lo que quiero que convoques todo tu poder creativo a este video y te veré en un rato. De acuerdo, así mapas de mosaico, ¿qué vamos a hacer? Bueno, lo primero que hicimos es conseguir nuestras sábanas sprite. Las cortamos en pequeñas hojas de sprite. Vamos a seguir para crear activos de teselas. Vamos a tomar esos activos de estilo y añadirlos a nuestra paleta de archivos. Y por último, usaremos a nuestros pilotos de Kyle para crear todo mapa de mosaico. Oh, bien, genial. Por lo que volver a la unidad, donde vamos a, en primer lugar, ir a Ventana y buscar nuestra paleta de azulejos, que debe estar bajo 2D y estilo pallet. Entonces haga clic en eso. Y ahora tenemos nuestro paladar. Siéntase libre de atracar donde quiera. Siento que quiero hablar junto al Inspector. Haz esto un poco más grande porque vamos a necesitarlo más adelante. Siguiente paso, entramos en nuestra jerarquía aquí la izquierda donde no tenemos nada excepto cámara principal. Así que haga clic derecho y vaya al objeto 2D y busque mapa de teselas. Al hacer clic en él, podemos ver que se ha creado una cuadrícula. Se llama la cuadrícula y nuestra jerarquía y un mapa de teselas. Entonces cambiemos el nombre del mapa de estilo para entrar en Inspector. Asegúrate de ir de inspector a mapa de teselas. Por lo tanto, el mapa de teselas cambia a tierra atrás y crea otro. Entonces un ingrediente vamos a crear otro mapa de azulejo y llamaremos al primer plano del cisne. Oh, bien, genial. Y también vamos a renombrar esto de crédito a azulejo, mapa, lo creció. Todo es genial. Entonces ahora lo que vamos a hacer es que vamos a crear una nueva paleta de azulejos. Entonces voy a paleta de azulejos y aquí bajo Crear un nuevo piloto de azulejos. Haga clic en él. Y te pedirá un nombre, simplemente
nombrará este paladar principal puede crear. Y te preguntará dónde quieres guardarlo. Es, estos son tu carpeta de activos. Entonces sigamos adelante y creemos una nueva carpeta llamada mosaicos y guárdala dentro de nuestra carpeta de selección de teselas. Ahora tenemos una nueva carpeta la cual es archivos y tiene una paleta de tuberías principal. Y esta es nuestra paleta de azulejos. Entonces. ¿ Qué vamos a hacer ahora? Vuelve a nuestros sprites en la jerarquía de la izquierda y elige todos estos sprites. Así que adelante y elige todos ellos. Para hacer eso más Rápido. Haga clic en el primero, vaya al último, mantenga presionado el turno y haga clic en él para que elija todo y los arrastre a nuestra paleta de azulejos. Y deberíamos tener un gran, enorme maestro. Ok. Ahora, vuelve los azulejos y dentro de los azulejos, selecciona la carpeta y guárdalos ahí. Por lo tanto, espera a que se conviertan en activos de pila. Y deberían estar en este momento o k Así que como puedes ver, se ha hecho
una enorme masa. Ahora por supuesto, vamos a estar moviendo todos estos y reorganizándolos. Ahora puedes reorganizarlos de la forma que quieras. Lo haré más adelante. Yo lo haré, será el mismo arreglo que el del terreno. Siéntase libre de hacer su propio arreglo. Entonces ahora es el momento de la parte emocionante. Entonces, elijamos uno de estos azulejos y empecemos a dibujar. Pero como puedes ver, estos son muy pequeños. Entonces, ¿cuál es el problema? El problema es que cuando estamos eligiendo nuestros sprites, en realidad
son los píxeles por unidad son de 100. Entonces, ¿cómo los vamos a hacer encajar? Vamos a cambiar esto a 32. Entonces ve a nuestro sprite, haz click en él, ve al inspector y asegúrate de que el píxel por unidad sea de 32. Aplica eso y encajan perfectamente en R-cuadrados. Genial, de vuelta a nuestra paleta de azulejos. Y ahora sigamos adelante y dibujemos un fondo sencillo, muy, muy sencillo. Por lo que también podemos aprender un poco sobre las cosas aquí arriba. Entonces, cada vez que quieras dibujar, tienes que asegurarte en qué mapa de teselas activo estás. Entonces por ejemplo, acabo de dibujar un abit de llantas que estaban en el suelo, lo cual no era correcto. Necesitas asegurarte de elegir el mapa de teselas activo correcto. Y sobre eso puedes ver que tenemos este pincel con el que nos permite dibujar un solo archivo cada vez que tenemos junto a él, este dibujo de caja, en el que simplemente podemos hacer
clic aquí y arrastrarlo y hacer tantas cajas como queramos. Tenemos esto, elige donde elegimos uno de estos y en realidad podemos cambiarlos todos. Y ahora también puedes experimentar con todo esto. Y finalmente tenemos esto. Se trata de un, un borrador que donde podemos quitar lo que nos apetezca quitar. Entonces volvamos a dibujar esto. Y ahora vamos a cambiar a primer plano. Y ahora cuando estamos en primer plano, elegimos los azulejos para el primer plano. Volver al fondo. Asegúrate de que nosotros, todo está en segundo plano y las cosas en primer plano son siempre las fichas para Primer plano. Entonces ahora si hacemos click en play. Esta será nuestra vista de juego. Qué guay es que estamos empezando a crear nuestro juego. Excelente. Pero algo que quiero señalar es que
necesitamos asegurarnos de que estamos trabajando en las capas correctas. Entonces, ¿qué quiero decir con eso? Bueno, si volvemos a ver y nuestras paletas de azulejos, si haces clic en el fondo, realidad
podemos dibujar sobre nuestro primer plano, pero los azulejos, que no es muy bueno, necesitamos asegurarnos de que cuando alguna vez dibujemos, nuestro primer plano está bien en primer plano. Entonces, ¿cómo hacemos eso? Hacemos eso usando capas de clasificación. Las capas de clasificación son muy, muy que van a mirar. Entonces si entras a la jerarquía en segundo plano, puedes ver que tenemos un mapa de teselas. Debajo de eso, tenemos un mapa de teselas renderizado. Ahora bien, si quieres entrar en la documentación de la unidad y enterarte de todo, siéntete libre de hacerlo. Pero en lo que nos vamos a centrar son estos ajustes adicionales. Por lo que si lo tienes cerrado, abre termina para arriba. Y se puede ver que tenemos capas de clasificación y tenemos capas ordenadas. Y ahora en primer plano, se
puede ver que tenemos estas capa de clasificación y capa ordenada. Por lo que necesitamos crear una capa de clasificación para nuestros fondos. Entonces haga clic en la capa de clasificación que ahora es predeterminada y haga clic en Agregar capa de clasificación. Entonces, para agregar una capa de clasificación, simplemente haz clic en este plus aquí mismo, y llamaremos a esta R para tierra. Añadamos otra capa de clasificación y hagamos ésta de vuelta a tierra. Ahora tenemos dos capas de clasificación y debajo de ella, y encima de ella podemos ver las etiquetas, que algo que es útil para codificar, y las capas debajo de ella, que es bueno para colisiones, hablarán de estos más adelante. Entonces retrocede y al primer plano. Y ahora en la capa de clasificación, en lugar de por defecto elige primer plano y para el fondo, elige fondo. Pero como pueden ver aquí, nuestro trasfondo sigue estando frente a nuestro primer plano. ¿ Por qué es eso? Bueno, si volvemos a las capas a clasificar capas,
las de abajo se renderizarán primero. Entonces si subimos el fondo y lo ponemos por encima del primer plano, el primer plano se renderizará frente al fondo. Y cada vez que necesitas asegurarte de que tienes tus capas en la ascensión o disensión correcta. De acuerdo, excelente, guarde eso. Y ahora vamos a crear una plataforma sencilla. Una plataforma muy sencilla. Pero primero, nota, no impugnado, aún no. En primer lugar, usaré la magia de la edición para reorganizar todos estos estilos aquí. Y no va a ser algo muy asombroso que puedas hacer con la forma en que deseas hacerlo. Simplemente lo haré igual que nuestro arreglo original. De acuerdo, estoy de vuelta de mi mágico viaje de edición. Entonces como pueden ver, he reorganizado todos mis azulejos y me olvidé de hacer algo. Olvidé enseñarte a hacer eso en realidad. Entonces. Disculpe para hacer eso, simplemente haga clic aquí en editar. Al hacer clic en él, en realidad
tienes acceso a todas estas fichas. Entonces si te revisas aquí, en realidad
puedes seleccionar un área de la cuadrícula usando S y luego puedes moverla usando AMP. Así que da click en nosotros, click en uno de los Azulejos, da
click en M, y ahora puedes moverlo a donde quieras. Y cuando termines de editar, simplemente haz clic en este botón de edición y se ahorrará cuatro. Entonces cambiemos esto de nuevo como OMB y guardemos y controlemos S para guardarlo todo. Y ahora es el momento de tu reto. Y tu reto va a ser ser crear tu propia plataforma. Por lo tanto, crea los mosaicos de primer plano y de fondo. Crea una nueva paleta de azulejos y reorganiza los trabajos en esa boleta así como lo hice yo. O encuentra tu propio camino personal o reordenándolos, crea una plataforma desde el primer plano con un fondo. Así que pausa el video ahora mismo. Reorganiza los mosaicos de la forma en que quieras que se reorganicen y luego sigue adelante y crea algún tipo de plataforma. No te preocupes por cuánto debe ser la plataforma. Increíble o genial. Esto es solo para un entrenamiento sencillo. Lo haré más tarde. Pero pausa el video ahora mismo e intenta lo mejor posible. O K. ¿Cómo te llevaste con eso? Estoy tan emocionado de ver cómo se vería tu palé. Por lo que ahora voy a crear un pequeño azulejo justo dentro de nuestra pantalla. Perro libre el juego justo al lado, y es de 16.9 grado. Para que lo podamos ver. Pero por ahora simplemente lo mantengamos ahí. Y voy a crear una plataforma justo dentro esta cámara y para no aburrirte con todos los detalles y yendo, de
nuevo, a utilizar la edición mágica. Es una magia tan buena. Es mejor que la magia de Harry Potter. Y voy a crear una cuadrícula o escritura. Entonces te veré en. Hola y bienvenidos de nuevo. Entonces como pueden ver, he creado una pequeña plataforma aquí mismo. Y en qué consiste esta plataforma, solo hice un pequeño para pequeño yo bastante grande muro aquí dentro, un obstáculo. A lo mejor lo haré más pequeño Más adelante hice una pequeña plataforma aquí donde
podamos, podríamos poner, no sé, tal vez diamantes o caja oculta. Entonces hice este tipo de pasos donde nuestro jugador puede saltar. Y eso es básicamente todo. Nada demasiado elegante. Y espero que lo hicieras para crear tu propia plataforma o
podrías haber esperado a que creara la plataforma y luego te inspiraras en ella. Pero lo que quiero que hagas es crear tu propia plataforma. No se limite a copiar el mío porque esta es la mejor parte del curso. En realidad es crear niveles usando la increíble magia de los mapas de teselas, mucha magia en este video y nos vemos en el siguiente.
19. mosaicos de la regla 101 (extras 2D extras) ): Bienvenidos de nuevo a todos a un video totalmente nuevo. Y este video, vamos a estar invirtiendo tiempo. Sí, vamos a estar invirtiendo tiempo ahora mismo para ahorrarnos mucho tiempo después. Y lo haremos creando las reglas para nuestros azulejos. Entonces como puedes ver, y ahora simplemente podemos crear mosaicos automáticamente. Entonces como puedes ver, se llenan automáticamente, lo cual es muy cool y muy servicial. Entonces te estaré enseñando a crear estas reglas. Te daré todos los recursos necesarios. Tomará algún tiempo y algunos entenderán, algún entendimiento para conseguirlo, pero no te preocupes por ello. Todo se explicará. Entonces te veré en una k Así que lo primero que vamos a hacer es que vamos a estar importando nuestro rol de mapa de teselas extras 2D. Hay dos maneras de hacer esto. Puedes o bien entrar en un google y escribir a la unidad extras, y luego entrar en tu, en el primer resultado, que es GitHub y lo
descargado, descargado desde aquí, obtendrás una carpeta zip y simplemente tienes que importarlo. En primer lugar extraído y luego simplemente lo arrastras a tus activos de Unity o puedes usar el que te he proporcionado los recursos. Voy a usar eso ahora mismo. Así que simplemente toma este azulejo de rol que he proporcionado, arrástrelo a Unity y ponlo dentro de activos. Espéralo en puerto. Te dará una larga lista de cosas para importar. Simplemente haga clic en importar aquí en la esquina inferior derecha. Espere a que termine. Y ahora deberías tener esta carpeta aquí mismo. Cuando sí obtienes esta carpeta, puedes entrar en mosaicos. Y simplemente puedes, sigamos adelante y pongamos todos estos en una sola carpeta. Adelante y llamemos a este terreno archivos de lluvia. Adelante, elige todos estos y simplemente arrástrelos a los mosaicos del terreno para tener más espacio. Y ahora, si haces clic con el botón derecho en tu lo que quieras, te
recomiendo que vayas a azulejos, vayas a crear. Y puedes encontrar en la parte superior justo aquí que tienes algo nuevo. El 11 es una rama prefabulosa y se descarta la otra. Entonces haga clic en router y fue por este conjunto de reglas en particular, vamos a hacer reglas para nuestro fondo. Entonces sigamos adelante y llamemos a esta presentación de la regla de antecedentes. Y ahora si hacemos click en él y entramos al inspector, puedes ver aquí que tenemos alguna estructura rara de Windows. Entonces tenemos el sprite predeterminado y tenemos las reglas de mosaico, una lista que está vacía. Y podemos agregar a esta lista haciendo clic en este botón aquí mismo, y podemos agregar reglas. Lo primero que debes hacer es atracar a este inspector. Por lo que simplemente sube a la parte superior derecha de tu pantalla y haz clic en este pequeño candado aquí. Y ahora esto no va a cambiar. Esto será de mucha ayuda. Entonces ahora, como pueden ver, nos dice
que no hay ninguno. Sprite. Por lo que necesitamos agregar un sprite predeterminado. Y porque estamos trabajando en el fondo sólo
estará trabajando en los sprites de fondo. Así que adelante y agrega lo que siempre sprite aleatorio quieras que sea el predeterminado. Y ahora vamos a empezar por crear nuestras reglas de mosaico. Por lo que la primera regla será para un azulejo que debería estar en medio, al igual que éste. Lo cual no tiene, no tiene ningún lado o
tampoco tiene ningún poco natural lo que son esos. esos se les llama, estos son para los rincones por cierto, y esto quedará todo claro, sólo habilitado. Ahora hemos creado nuestra primera regla. Enhorabuena. Adelante y agréguelo a nuestro paladar azulejo. Por lo que puedes crear una nueva paleta de mosaicos
simplemente para nuestras reglas o puedes agregar aquí mismo de la, sobre todo las pilas predeterminadas todas añadidas a ésta. Porque es más práctico, creo. Así que simplemente haga clic en este fondo y arrástrelo a nuestra paleta de azulejos y
debería, debería mostrarse aquí mismo. Entonces ahora si hacemos click en este, realidad
podemos dibujar estas fichas de reglas. ¿ Ves eso? Oh, bien, genial. Y como puedes ver, los, todos son del mismo tipo. Pero si elegimos crear reglas para ello. Entonces, por ejemplo, si hacemos click en este, como puedes ver, todo cambia. ¿ Por qué es eso? Bueno, déjame explicarles esto cómo funcionan realmente estas reglas. Entonces veamos esta caja tres por tres aquí mismo. Y si
agregamos, en realidad podemos agregar este tipo de flechas. Y como se puede ver, más sumamos los cambios morales. Y lo que estos significan es la flecha verde significa que hay un azulejo encima. Entonces cuando el restyle por encima, a la izquierda, a la derecha y debajo de ella, entonces podemos dibujar este estilo. Entonces esta es una regla. Y si hacemos click en esta flecha verde, nuevo, podemos ver que se convierte en una X. roja Y lo que esta X roja significa que sólo dibujará cuando no haya nada a su derecha. Y podemos ver aquí
o.Y si realmente hacemos click aquí, realidad
hace, bueno, nos muestra
lo que sucederá si agregamos un título aquí. Y tal vez te estés preguntando ¿por qué todos los demás azulejos son de esta manera? Bueno, porque es nuestro sprite predeterminado. Entonces sigamos adelante y añadamos otra regla. Y mantengamos esto así porque en realidad esta es nuestra regla para este azulejo en particular. Entonces sigamos adelante y sumamos en otra habitación. Y para esta regla, volvamos a los sprites. Agregará una esquina en el lado derecho. Entonces sigamos adelante. Entonces, ¿qué crees que debería tener como reglas la diapositiva correcta? Bueno, creo que debería tener uno debajo, 12, ¿verdad? Y uno en su diagonal, y no debería tener nada a ninguno de los dos lados. Ahora nada cambió más o menos, pero eso está bien porque vamos a añadir otra regla. Y para esta regla, veamos qué tenemos. Añadamos este 10. Y en este caso, si tenemos algo para, estos
lados y nada de ese lado, deberíamos tener esto aquí mismo. Y es más o menos correcto ahora. Entonces sigamos adelante y creemos otra regla y añadamos ésta a ella. Entonces ahora, si tenemos, por ejemplo, ¿qué debería tener esto? Si no tiene nada a su derecha y tiene algo a su izquierda, debería crear este Uno. Otra cosa de estas reglas aquí mismo es que en realidad se pueden cambiar y pueden ser o bien espejo girado en el eje x o y. ¿ Qué significa eso? Bueno, si hacemos click en este, se
puede ver que rota todas las reglas. Entonces si no queremos crear reglas
para, por ejemplo, queremos hacer una regla que sea como ésta. ¿De acuerdo? Simplemente podemos hacer clic en el Espejo, espejo en el eje x, y va a crear esa regla para nosotros. Pero no vamos a estar necesitando eso porque nuestros activos son ricos y ellos tienen todo en ellos. Entonces ahora voy a crear un conjunto de reglas que simplemente se cree que una porque necesitábamos, voy a crear un conjunto de reglas. Y antes de hacer eso, te
voy a emitir un reto y tu reto va a armar tus propias reglas. Porque puedo creer hasta que se pueden crear reglas batalladas que yo por el fondo. Por lo que primero se importa al archivo extras que he proporcionado en los recursos. Después tienes que configurar tus reglas para el mosaico
automático y usar las reglas para pintar tu propia plataforma. Así que adelante y prueba lo mejor posible. Y si sientes que ni siquiera puedes llegar a las reglas más simples que he proporcionado en los recursos. Además, las reglas lo he capturado todo de antemano, así que te veré en un rato. Está bien. Bienvenido de nuevo. Entonces, ¿cómo te pusiste con eso? Espero que al menos trataras de crear algunas reglas. Entonces vamos a mostrarte, déjame mostrarte lo que he hecho. Entonces he creado, creo que se trata de 17 reglas. Y de la forma en que los
hice, en realidad empecé a mirar diferentes maneras en que cada azulejo podría funcionar y cómo debería colocarse. Por supuesto, si no tienes idea de cómo crear las reglas,
he proporcionado a los judíos algunas fotos y, o capturas de pantalla que he hecho para que puedas copiarlas y usar mis fichas. Pero recuerda, las mías no son perfectas de ninguna manera. Y dejé fuera muchos azulejos porque es una lista muy exhaustiva. Yo quiero crear un ejemplo para que usted cree sus propias reglas. No será fácil, no
se hará en diez minutos. Creo que esto realmente me llevó pienso en dos tal vez 2.5 horas para terminarlos todos y probarlos y asegurarse de que todos funcionen. Entonces para demostrar cómo funciona el mosaico automático, sigamos adelante y optemos por borrar un par de ellos. Entonces como puedes ver, cuando los borramos, se crean
nuevas fichas para envolver. Y como pueden ver, tenemos un error aquí mismo. Y entonces podría haber muchos otros errores, pero algunos de ellos funcionaron como éste, por ejemplo, funciona perfectamente bien. Entonces sigamos adelante y eliminemos todos estos y lideremos todos estos. Y probémoslos en nuestra plataforma y veamos cómo funcionan. Entonces sigamos adelante y pinchemos en esto, elijamos los mosaicos automáticos. Y recordemos tenerlo siempre en segundo plano. Entonces vamos a crear algo justo aquí, y luego vamos a crear algo justo aquí. Y como puedes ver, se llenan automáticamente. Y es perfecto, supongo que vamos a ver si, oh, hay algo justo aquí. Creo que necesitamos crear otra regla para eso. Creo que es la que tiene sólo dos de cada lado. Entonces vamos a ver. De acuerdo, así que sigamos adelante y creemos una nueva regla y veamos cuál deberíamos usar. Entonces queremos cubrir, queremos cubrir esta zona justo aquí en la parte superior y una por aquí. Entonces vamos a elegir cuál, cuál, vale, éste. Entonces, arrastrémoslo aquí. Como puedes ver, se llena automáticamente, pero eso no es lo que queremos. Queremos realmente crear una regla para que siempre siga, porque eso siempre nos va a dar por defecto. Por lo que no tiene azulejo a su parte superior izquierda. No tiene un atado a su parte inferior derecha. Y tiene azulejos a ambos lados y jura por encima y por debajo de ella y por cada lado. Excelente. Entonces ahora pueden ver que tenemos nuestra configuración de reglas aquí mismo. Podemos mosaico automáticamente todo el fondo. Hace que nuestra plataforma sea mucho más estática que tener todas iguales. Puedes crear portón, también una regla para tus azulejos de primer plano. Yo lo probé. Es meticuloso, lleva tiempo, y te animo a que intentes crear eso también, te hará la vida 20 veces más fácil. Espero que haya disfrutado el video. Espero que estés emocionado ya que estoy por esto en el próximo video, creo que finalmente estará agregando a nuestro jugador o
a un conquistador nosotros, llámanos, estaremos llamándolo nuestro conquistador. Entonces te veré en el siguiente video.
20. Agrega nuestras primeras animaciones: Bienvenidos de nuevo, mis compañeros desarrolladores de juegos. Como puedes ver, hemos creado, finalmente, hemos creado un jugador y exhibición o es nuestro conquistador, lo
llamaremos Ginny. Entonces Jimmy en este momento no hace nada. Pero si hacemos click en play, podemos ver que nuestro Jimmy conquistador en realidad tiene una animación en ralentí que se está ejecutando aquí abajo. Te enseñaré todo lo que hemos hecho. Tendrás un gran reto. Entonces quiero que me des toda tu fuerza de concentración y te veré en un rato. De acuerdo, entonces lo primero que vamos a hacer es que vamos a desacoplar esto y vamos a eliminar todas las cosas innecesarias que tenemos aquí arriba. Entonces sigamos adelante y eliminemos todo eso. Vuelve a acercar y ve a Arlen Specter, guardó eso. Entonces vamos a crear un objeto de juego vacío y hacer que el interior más pequeño no necesitara tan grande. Haga clic en eso para quitar un poco más grande y llamaremos a este juego objeto nuestra capa. Y esta capa se restablecerá a la mitad de nuestra pantalla. Y honestamente, esta es la parte más emocionante de
toda la creación de juegos cuando comienzas a hacer tu jugador. Entonces repasemos algunas palabras técnicas. Animación 101 primero, lo primero que necesitas aprender como controlador de animador. Por lo que un controlador de animador le permite organizar y mantener un conjunto de clips de animación. Verás lo que está habilitado. Y componente Animator utilizado para asignar animación para terminar objetos de juego en tu escena. Entonces si tienes un objeto de juego y querías tener animaciones, le asignas un componente Animator, y ese animador, componente animador obtiene un controlador de animador. Es un poco confuso. Ya veremos todo. Animaciones en varios sprites renderizaron uno tras otro. Entonces dice conjunto de sprites uno tras otro, los
ponemos a continuación. Al igual que el video funciona donde es un conjunto de imágenes una tras otra. Y por último un renderizador sprite del que hemos hablado anteriormente, renderiza un sprite para gráficos 2D. Está bien, creció Rick. Por lo que volver a Unidad. Y desde la unidad vamos a estar importando el sprite. Te he dejado a ti y sus recursos para nuestro humano. Entonces sigamos adelante y vayamos allí. Y aquí puedes encontrar que hemos caído inactivo, saltar y correr. Por lo que usaremos por ahora animación inactivo. Pero para crear las otras animaciones tenemos el Ron y todos saltan. Entonces haga clic en el ocioso y arrástrelo a nuestra unidad. Entonces lo tenemos justo aquí. De hecho lo haré, no queremos, queríamos dentro de sprites. Así que vamos a cerrar eso y ahora vamos a crear una carpeta. En primer lugar para nuestro. Conquistador, que llaman a este conquistador. Y nuestro conquistador tendrá este sprite. Lo primero que vamos a hacer es que vamos a estar rebanando a nuestro conquistador. Pero antes de que hagamos eso, quiero, entender los pasos que venimos a dar. Entonces vamos a importar la hoja de cálculo de concordancia y rebanarlas. Vamos a crear el objeto jugador. Ya lo hicimos y le agregamos un renderizador sprite. Haremos eso ahora mismo. Estamos creando creará una animación inactivo. Agregaremos un animador a nuestro reproductor, crearemos un animador de reproductor y ordenaremos agregarle todas las animaciones, agregaremos una animación inactiva al Animador, y asignaremos el animador a nuestro reproductor. Entonces sigamos adelante y hagamos todas esas cosas. En primer lugar, vamos a rebanar nuestro. Por lo que iremos a múltiplo haremos que los píxeles por unidades 32, y aplicaremos todo eso irá a nuestro editor sprite. Entonces como pueden ver aquí, tenemos 1234567891011 Sprites, y están repartidos en 800. Aquí abajo se puede ver ochocientos cincuenta,
ochocientos cincuenta y ocho. Si haces rebanado automático, puedes ver que hace el trabajo bastante bien. Pero el problema es que cuando estaremos agregando otras animaciones a nuestro conquistador tendrá un ligero problema con eso. Por eso voy a rebanarlo de manera manual. Y va a ser 58 por 58. Nos cortamos eso. Y como puedes ver, no es muy preciso. ¿Por qué es eso? Porque queremos tener algún tipo de offset. ¿ Por qué necesitamos ese offset? Bueno, porque 50 por 58 simplemente no lo corta. Y vamos a pad vamos a hacer un relleno de me refiero a un desplazamiento de 20. No, me refería a relleno, así que relleno de 20. Y ahora podemos ver que todos están en medio de, más importante es tener a nuestro conquistador y sitio en medio del sprite. Por lo que todos ellos están en medio. Y Oh, bien, genial. Entonces corta eso, aplica todo lo que puedas. Como siempre, te he dicho que puedes renombrarlos si quieres bajar por la garganta. Entonces hemos rebanado nuestros sprites. Ahora es el momento de agregar nuestro renderizador. De la forma en que lo hacemos es mover esto aquí y vamos a añadir un componente. Y va a ser un renderizador sprite. Y, y nuestro render sprite, tenemos este sprite predeterminado. Elige a quien quieras y ponlo dentro de ella. Y tenemos nuestra capa, una tasa de chicas. Entonces ahora lo que tenemos que hacer es añadir un animador a ese reproductor, o en realidad un componente Animator del que hemos hablado. Entonces hagámoslo. Simplemente teclea y puede hablar. Ahora tenemos un controlador de animador y este objeto ahora puede empezar a tener animaciones de nuevo en activos. Vamos a crear una carpeta. Llamaremos a esta carpeta. Y animaciones. Y dentro de las animaciones, vamos a crear un animador, por lo que controlador animador. Y lo llamaremos el jugador. Ahora, volvamos ¿a quién actuar debemos hacer ahora mismo? De acuerdo, entonces el siguiente paso va a ser, vamos a abrir nuestra ventana para una animación. Así que entra en animación y haz clic en la ventana Animator, animador de animaciones. Y tenemos al animador, pero vamos a embarcar de una manera diferente. Siéntete libre de atracar como quieras. Este es mi estilo personal, así que atracaré el proyecto y la consola al lado del otro. Y atracaré el peso del animador de qué, y atracaré al animador aquí abajo K. Necesitas hacer un par de reestructuraciones aquí mismo. Así como así, y es perfecto. Entonces este es nuestro animador justo aquí debajo de nuestra escena. Y agregaremos también una ventana para las animaciones. Por lo que las animaciones y lo atracarán junto al animador. Justo así. Está bien, genial. Lo siguiente que vamos a hacer es que vamos a crear una animación y la estaremos agregando a nuestro animador. Entonces como pueden ver, ya tenemos un par de estados. Estos se llaman estados. Este es el estado de entrada, Esto es de cualquier estado, y este de aquí es un estado de salida. Entonces vamos a crear una animación mejor parte de nuestro juego. Entonces vuelve a sprites conquistador. Y la forma en que creamos animaciones es que elegimos todos los sprites que queremos. Entonces como te he dicho antes, haz click en el primero, ve al último mantén pulsada Mayús, Haz clic en ellos, ya
has elegido todos ellos, haz clic derecho en él y ve a Crear, y baja en animación. Por lo que esto creará una animación. esto lo llamaremos ralentí. Ralentí. Está bien, genial. Ahora tenemos una animación de ralentí para nuestro jugador. Simplemente arrastra eso a la animación. Y dentro de la animación, ahora
tenemos que añadir esta animación en ralentí, animador 2D. Entonces lo hacemos simplemente click en, Haga clic en el ensanchamiento y arrástralo al animador. Y ahora tenemos una animación en ralentí para nuestro jugador. Algo de lo que también tenemos que asegurarnos es hacer click en la animación y añadir un tiempo de bucle por no lo hacemos. Hará esta animación una vez y luego se detendrá. Parpadeo es una animación que queremos tener una y otra vez y otra vez. Entonces haga clic en eso. Guarda todo esto, y no te olvides de ir a jugador. Y en el controlador animador
, te pedirá un controlador. Puedes arrastrar esto aquí o puedes hacer clic en el pequeño círculo y añadir el animador del jugador. Guarda eso. Y ahora pinchemos en jugar y veamos qué hemos hecho o cualquier cosa funciona en absoluto. Entonces si volvemos a ver, podemos ver que nuestro jugador se mueve y él está ralentí woo, woo, Oh, vale, genial. Muy emocionante. Es muy emocionante, pero hay un problema. Si llevamos a nuestro jugador ahora mismo y los arrastramos a nuestra plataforma, no
podemos ver nada. Entonces, ¿dónde está? ¿ Cuál es el problema? El problema también? En realidad es tu problema porque ve lo que hice ahí. En realidad cambié el todo lo
que los pasos en reto porque tal vez solo estás viendo y no haciendo nada demasiado. Entonces esta es tu oportunidad de hacer el reto. Entonces tu reto es hacer todas las cosas que ya hemos hecho. Puedes volver a verlo. A lo mejor ya lo haces todo conmigo y pausas el video. Pero si no lo estás, ahora es el momento. Y tu reto extra es usar las capas de clasificación para hacer visible a nuestro jugador frente al fondo. Por lo que hemos cubierto capas de clasificación antes. Creo que tienes suficiente habilidad para hacerlas todas. Y te veré en un rato. Bienvenido de nuevo. Espero que hayas hecho lo mejor posible y ese reto, espero que solo te fijes fijamente en la pantalla. Por lo que vamos a elegir jugador va a entrar en el renderizador sprite. Y vemos aquí que tenemos la capa de clasificación tal como teníamos para el primer plano y el fondo. Entonces si hacemos click en Default, no
tenemos jugador y podemos añadir una capa de clasificación. Entonces sigamos adelante y hagamos eso. Entonces una nueva capa, llamaremos a esta capa profunda, Capa. Capa, Capa. Eso es divertido de decir. Y lo pondremos delante de fondo y detrás de primer plano, A
pesar de que no va a ir sobre el primer plano ni detrás de él. Pero lo haremos de esa manera. Guarda todo eso de nuevo en Player, y elige la capa de clasificación para que sea el jugador. Por lo que ahora nuestro jugador, nuestro jugador está en la capa de jugadores, dicen eso diez veces. Y ahora yo, en realidad, creo que nuestro jugador es sólo un poquito se sienta centro comercial, creo que lo hará más grande. Entonces, entremos a sprites. Y de la forma en que hacemos eso, elegimos a los conquistadores, dramaturgos, y vamos a hacer de este 30. Entonces si hacemos este 13, Haga clic en Aplicar, se
vuelve un poco más grande, sólo para que pueda ser visto. Pero y si este logo de la cámara y aquí te está molestando, me está molestando. En realidad puedes hacer click arriba aquí en los artilugios y puedes hacer que todos los iconos sea más pequeños. Incluso puedes hacerlos desaparecer. Está bien, genial. Entonces espero que te pongas en marcha con ese reto. Espero que estés emocionado como yo porque nuestro jugador se está
moviendo en realidad y hemos respirado algo de vida en nuestro juego. Te veré en el próximo. Esta es Michelle del futuro. Perdón por interrumpir. Pero quiero que hagas algo que no hemos estado haciendo hasta ahora. Y eso es comprometer nuestros cambios. A lo mejor has estado haciendo eso y te felicito. Pero si no lo estás, este es un buen momento para empezar a recorrer. Entonces como puedes ver, lo he estado haciendo cada video. Por lo que rebanar hojas, crear palés, creó una plataforma y las herramientas. Y ahora vamos a sumar la animación. Por lo que vamos a comprometer ese cambio y agregar una animación o agregar animaciones en ralentí. Entonces si no has estado haciendo los repos aquí mismo, este es un buen momento para empezar porque vamos a estar haciendo muchas cosas en los próximos videos. Entonces te veré.
21. Transiciones de animación: Bienvenidos de nuevo a mis compañeros desarrolladores de juegos a un video totalmente nuevo. Y este es muy emocionante porque vamos a estar aprendiendo sobre el
otro, otras animaciones y aún más transiciones. Entonces como puedes ver aquí en nuestro animador, hemos sumado dos nuevos estados los cuales son escalar y correr. Y hemos agregado transiciones entre ellos con parámetros
también agregados que nos permitirán realizar esas transiciones. Y ahora, si hacemos clic en play, realidad
podemos llevar a nuestro jugador de la animación de planchado a la animación de running. Y también una animación de escalada de lo que tenemos. Por lo que estoy muy emocionado por este video. Eso espero. Espero que tú también lo estés. Entonces entrémonos en ello. Lo primero que haremos es ir y agregar los sprites para correr y el cliente. Por lo que para la carrera, tenemos esto corre sprites y 40 escalada. Voy a usar la caída y el salto porque no
tenemos las animaciones reales de escalada, pero quería incluir eso en nuestro proyecto. Así que adelante, haga clic en todos esos y arrástralos a nuestra unidad. Entonces tenemos salto, tenemos el, ya sea el Irán y el default. Por ahora, sólo centrémonos en la carrera. Entonces como saben, este es un paso que hemos hecho varias veces. Vamos a seguir adelante y dar click en correr. Hazlo múltiple, haz que el tamaño de píxel 30. Porque como recuerdas, hemos aumentado de tamaño. Guarda eso. Y sí, quise aplicar, volver a R1 y por alguna razón, vale, así que vamos a Sprite Editor, y tenemos esos sprites, es ir a rejilla por tamaño de celda. Debe ser de 58 por 58 con un relleno de 20, como recuerdo, sí, exactamente. De acuerdo, entonces aplica eso. Ahora tenemos a nuestros sprites. Sigamos adelante y pinchemos en todos ellos como lo hicimos antes. Consulta todos ellos. Haga clic derecho. Ir a crear animación. Y lo llamaremos a esto correr crónico, gran ropa que lleva corriendo a animaciones. Y más adelante, crearemos una carpeta. Entonces ahora agreguemos el estado de animación en ejecución a nuestro, un animador en correr ahí mismo. Entonces ahora esto es un poco complicado, pero vamos a acercar, mover esa salida, salir para escuchar por alto. Y ahora tenemos el ralentí y el running al lado del otro. Entonces, ¿cómo vamos a decirle a nuestro animador que queremos pasar de lo ralentí a lo corriendo? Bueno, si haces clic con el botón derecho en ralentí, en realidad
puedes hacer una transición. Entonces haz esa transición y empuja la flecha y hacia la derecha. Y si haces click en esa transición, como puedes ver, tenemos muchas opciones y mucha configuración también. Entonces déjame decirte sólo un poco aquí. Hablemos de transiciones. Tenemos un poco de mezcla aquí entre las animaciones, pero no queremos que eso, como pueden ver, tenemos esta mezcla justo aquí y en realidad podemos. Elimina toda esa mezcla. Por lo que va de inmediato de ralentí a correr. Y lo haremos porque ya tenemos muy bien a las animaciones. Por lo que simplemente podemos entrar en Duración de Transición y ponerlo a 0. De esa manera no habrá rezago entre animaciones. Entonces ahora tenemos el ralentí yendo a correr. Pero, ¿cómo va a saber que realmente queremos ir por ese camino? Bueno, eso lo hacemos usando los parámetros aquí de la izquierda. Así que pasa de las capas a los parámetros. Como pueden ver, tenemos una lista vacía. Entonces aquí es donde empezamos a agregar parámetros y podemos agregar y un par de parámetros. Podemos agregar un flotador y un entero, un booleano o un gatillo. Por ahora estaremos usando un booleano y ese booleano se llamará running. Por lo que queremos hacer la transición a correr. Tendremos que usar el booleano en ejecución. Y con el fin de añadirlo bajo el, si hacemos clic atrás en transiciones, tenemos las condiciones aquí mismo. Y esta condición, esta vacía. Entonces haga clic en más un átomo. Agrega automáticamente el running porque no tenemos nada más que añadir. Y ahora si hacemos click en play, podemos ver que ahora mismo estamos en ralentí. Y si hacemos click en este Booleano, entramos en la carrera, pero sí, ¿lo hace sólo una vez? ¿ Por qué es eso? Te voy a dar un mini reto ahora mismo para averiguarlo. Está bien, basta. Entonces vamos a ver, correr debe estar en un bucle. Guarda eso de nuevo en juego. Y ahora si hacemos click en el booleano, empieza a correr y sigue corriendo para siempre. ¿ Por qué es eso? Queremos hacer esta mantequilla. Por lo que vamos a añadir una transición de vuelta de correr a abrir los ojos. Y esta transición también tendrá una duración de 0. Está condicionado aquí mismo se estará ejecutando, pero cuando se convierta en falso, guarda eso de nuevo. Haga clic en jugar. Y ahora nuestro jugador como planchado. Y ahora está corriendo y ahora no está corriendo y ahora está corriendo. Y ahora no está corriendo. De acuerdo, así que esto es muy guay. Este es un muy emocionante y este es un gran momento para tu reto retos soviéticos para crear la animación de escalada A importantes sprites en declive de los recursos. Cortarlas hacia arriba, y dimensionarlas apropiadamente. Crear una transición de ralentí a correr. Y finalmente crear una transición gatillo 40. Así que pausa el video ahora mismo, te
he dado todos los pasos que necesitas. Yo quiero que intentes lo mejor posible. Entonces te veré en un rato. Bienvenido de nuevo. Entonces, ¿cómo te pusiste con eso? Adelante y hagamos el reto. Entonces lo primero que haremos es entrar a nuestro sprite del Congreso. Y como les he dicho, estará usando la animación de caída y salto con el fin de crear nuestra animación. Entonces esto será un poco complicado. Y ahora iremos a nuestra caída. Entonces nuestro falso debe ser. Treinta y dos, y lo haremos múltiple aunque no necesitemos hacer eso. Pero porque vamos a rebanar jarabe a nuestra manera. Entonces, ¿qué es 58 por 58 aplicar? Sólo tenemos un sprite, y aquí también tenemos un solo sprite. Entonces aplique eso. No olvides hacerlo 30, no 3416 en rodajas, aplicar. Correcto. Por lo que ahora estamos listos para usar estos dos. Entonces vamos a hacer clic en esos, hacer clic derecho y crear una animación, y vamos a llamar a este forro. Por lo que subir la animación de nuevo a nuestra carpeta de animación, y la añadiremos a nuestro animador, creará una transición de cualquiera de los enlaces a la escalada. Y transitaron de escalada a ralentí
también se apagará de la duración de transición en ambos. Y crearemos un nuevo parámetro, que será un booleano. Y lo llamaremos escalada. Escalada. Y ahora vamos a sumar esta condición a de ralentí a escalar. El escalado debe ser cierto, y de escalar a ralentí, la escalada debe ser falsa. Guarda eso. Haga clic en play para ponerlo en bucle. No estoy seguro. Vamos a probarlo. Entonces escalar y se detiene porque no lo hemos puesto en bucle, guarda eso de nuevo. Y ahora, si hacemos clic en subir, empieza a subir, pero como puedes ver, es algo súper rápido. Entonces sigamos adelante y juguemos con nuestra animación. ¿ Cómo hacemos eso? Entonces tenemos aquí un tabloide de animación que aún no los hemos utilizado. Entonces de animador a animación, y como pueden ver aquí, tenemos esta escalada. Si hacemos click en jugador arriba en la jerarquía, tenemos el ensanchamiento, Tenemos la carrera, y tenemos la escalada. Si haces clic en cualquiera de esas, por ejemplo, ralentí, puedes ver que nos dice qué cosas cambian durante la animación. Por ejemplo, aquí lo que está cambiando es el sprite. Por lo que en realidad podemos tomarlo cuadro por fotograma o tocarlo aquí mismo. Y podemos ver que nuestro jugador se mueve con el ralentí. Y se puede ver cada fotograma. Y puedes ir hacia adelante y hacia atrás, hacerlo más pequeño, hacerlo más grande. Entonces usaremos eso para la escalada. ¿ Por qué es el costo? Como viste, la escalada es extremadamente rápida y queremos ralentizarla solo un poquito. Entonces, ¿cómo vamos a hacer eso? Bueno, va de aquí a aquí, así que vamos a añadir otro. Entonces copia eso. Da click en Control C. Ve al marco donde quieras poner este sprite y Control V. Ok, así que ahora tenemos estos dos. Bueno, en realidad vamos a elegir ambos. Control-c, Control-V. Y luego otra vez fuente tres veces. Hagámoslo 1 segundo. De acuerdo, veamos cómo funciona eso. Haga clic en jugar. Es un poco primero todavía. Pero al menos lo hace varias veces. Y en realidad podemos, desarmémoslos si elegimos todos estos, y eso es lo que eliminemos los dos últimos y elijamos todos estos. Y en realidad podemos extenderlos en un segundo. Y ahora si hacemos click en jugar, será un poco, algo va mal, ¿verdad? ¿ Por qué es eso? Porque el último fotograma, bueno, en realidad no están extendidos correctamente, así que vamos a extenderlos correctamente. Entonces esto está encendido para 68 en el uno. Y el último fotograma debe ser el mismo que el primer fotograma. Entonces pongamos en esa. Y ahora si hacemos click en Play, debería ser muy, muy pequeño. Por lo que un paso final antes de irnos, quiero entrar en jugador. Yo quiero entrar en el animador en realidad, y quiero quitar el tiempo de salida. Como pueden ver, tenemos algo aquí dentro que se llama hora de salida. Y esto se usa cuando se quiere hacer la transición de nuevo la animación anterior o entrar en la siguiente animación después de un cierto tiempo. Y no queremos esto ahora mismo, lo
estará usando en el futuro. Entra en cada transición y quita el tiempo de salida. Y ya hemos terminado. Entonces, vamos a guardar eso. Demos click en jugar y veamos qué tenemos. Por lo que tenemos a nuestro jugador ralentí. Y si hacemos click en correr, empieza a correr y nosotros amplicon de correr, se detiene y también sube. ¿ Qué tan guay es eso? En serio, esta es la parte más cool. Y espero que hayan disfrutado el video. Espero que hayas aprendido mucho. Y que no se olvide de guardar y el repositorio. Y te veré en el siguiente video.
22. Agrega colecciones 2D: Bienvenidos de nuevo, todos. Sólo quería recordarte el increíble trabajo que has estado haciendo hasta ahora. En este video, estaremos agregando un cuerpo rígido y un colisionador a nuestro reproductor, también
estarán agregando colisiones a nuestro entorno, como pueden ver aquí, que harán o incapaces a nuestro jugador de aterrizar en la superficie de nuestro primer plano. Entonces ahora si hacemos clic en el juego, nuestro jugador realmente se pone en la superficie. Entonces, empecemos. De acuerdo, así que empecemos agregando un cuerpo rígido a nuestro jugador. Pero antes de que hagamos eso, creo que es un gran momento para nosotros también. Jugador prefabricado fuera. Entonces haz eso, vamos a entrar en nuestros bienes. Haga clic derecho y cree una carpeta, y le nombraremos a esta carpeta prefabs. Adelante y prefabricemos nuestra capa. Entonces ahora tenemos un jugador prefabricado, que se siente bien. Por lo que de vuelta a nuestro jugador. Adelante y agreguemos un Cuerpo Rígido a nuestra capa. Por lo tanto Cuerpo Rígido 2D. Y nos aseguraremos de que lo tengamos como dinámico, guarde eso, y aplicarlo a nuestros preferidos. De la forma en que hacemos eso a medida que vamos a sobrescribir, click en abajo y habrá un aplique o. bien, genial. Antes de continuar, quería tomar un segundo y hablar de cuerpos rígidos a la vez más. Por lo que es un componente agregado a un objeto de juego que lo somete. Dos no deben ser TPI, debe
ser a la física, fuerzas del motor. Y tenemos muchos tipos de cuerpos de Cuerpo Rígido 2D. Entonces tenemos dinámica, que tiene masa finita y se ve afectada por la gravedad y otras fuerzas. Tenemos cinemática que no se ve afectada por la gravedad y otras fuerzas. Y tenemos estática que se comporta como un objeto inamovible. Oh, bien, genial. Ahora de vuelta a Unidad. Y debido a que tenemos un cuerpo rígido, ahora, si hacemos clic en el juego, nuestro jugador cae por el suelo. O K. No muy útil, pero es un paso adelante. Entonces ahora es el momento de tu reto. Es importante un reto temprano, pero creo que usted ha cubierto. Por lo que ya hemos hablado de colisiones antes. Entonces ahora es el momento de agregar el colisionador apropiado a tu jugador. Es necesario agregar una colisión al medio ambiente. Y tienes que asegurarte de que tu jugador aterriza en la plataforma sin caer a través. Así que pausa el video ahora mismo si sientes que tienes habilidades para hacer eso, F nada, espera un par de segundos y estaré enseguida contigo. Ah, está bien, así que los colisionadores, son muy útiles. Entonces entra en jugador. Cerremos este cuerpo rígido. Y sigamos adelante y agreguemos un colisionador. Entonces creo que estaremos agregando un Colisionador de Box 2D a nuestro jugador. Y como puedes ver, nuestra jugada o nuestro colisionador de cajas es un poco demasiado grande para nuestro jugador. Entonces vamos a seguir adelante y encogerlo hacia abajo. Y Puedes hacer esto como quieras. Depende de tu preferencia a la ganancia, cuánto quieras hacer grande o pequeña la vida de Foxconn. Pero lo que hay que tener en cuenta es que sus pies deben estar tocando el fondo del colisionador. Entonces hagámoslo así de grande. Y esto simplemente se basa en tus preferencias. A mí me gusta mantenerlo apenas más pequeño que su tamaño real para que el juego sea un poco justo. Entonces si haces más grande el colisionador de cajas, eso hará que el juego sea un poco más difícil. Y si lo haces más pequeño, lo hará más fácil para tus jugadores. Entonces creo que esto es lo suficientemente bueno. Entonces guarde eso y como siempre, vaya a anular y aplíquelo al prefabricado. Entonces ahora si hacemos click en el juego, nuestro jugador aún se cae. ¿ Por qué es eso? Bueno, porque no tenemos ningún colisionador en nuestro primer plano. Entonces vamos a añadir algunos entrar en primer plano. Y si llegaste a este punto y no pudiste continuar, no te
preocupes porque esto es algo que estarás agregando un mapa de teselas llamado más ligero. Entonces vayamos al mapa de pila. Y como se puede ver, todos los azulejos de primer plano han sido, ahora
tienen un colisionador sobre ellos. Pero el problema es que si haces zoom, puedes ver o no puedes. Pero si me acercas mucho,
puedes ver que hay una diminuta, diminuta,
diminuta brecha entre los colisionadores. Y lo creas o no, esto nos causará problemas más adelante, sobre todo si el jugador se está moviendo o bajando activa velocidad muy rápida, puede pasar por estos colisionadores. Entonces, ¿cómo vamos a arreglar eso? Bueno, hay una pequeña solución que se llama colisionador compuesto al, así que vamos a ver qué hace eso. Por lo que Colisionador compuesto a la, cuando agregamos
eso, automáticamente agrega un cuerpo rígido a nuestro primer plano. Y lo que esto
hace, en realidad deja cerrar esto. Y si hacemos clic aquí, si miramos en nuestro colisionador de mapa de teselas, podemos ver que tenemos una casilla de verificación que se llama utilizada por compuesto. Y qué hace esto si hacemos clic en él, se
puede ver que todos los colisionadores ahora están en un solo colisionador, pero lo podemos ver. Hagamos esto más grande. De acuerdo, entonces ahora se puede ver que tenemos una sola línea de colisión a nuestro primer plano. Entonces ahora si guardamos eso, oh, y hay un problema más. Bueno, debiste haberlo pensado. A lo mejor no lo hiciste. Eso está bien. He invertido muchas veces porque tenemos un cuerpo rígido en su primer plano. Si lo mantenemos en dinámica, todo el mundo estará cayendo. Por lo que necesitamos cambiar esta dinámica en estática. De esa manera se queda en su lugar, pase lo que pase, así que guarden que puedan jugar. Y ahora nuestro jugador gasta en nuestro primer plano. Ahora el juego se está volviendo cada vez más realista. Entonces esto es genial. Este es un salto muy grande hacia adelante. Pero hay otro problema, porque si hacemos click en nuestro jugador y lo sentamos aquí en el borde y hacemos clic en jugar. Podemos ver que en realidad cae sobre su cabeza. Y ahora la animación son placas. Bueno, es algo genial, ya
sabes, pero no queremos eso. Entonces para evitar este tipo de comportamientos por parte de nuestro jugador, realidad
podemos entrar en nuestro cuerpo no rígido, discúlpame. Podemos entrar en nuestro, en nuestro cuerpo rígido. Y aquí abajo podemos ver que tenemos algo llamado restricciones. Por lo que esto limita el movimiento de nuestro jugador en ciertas rotaciones, para ciertas rotaciones. Entonces lo que queremos es congelar la rotación en el eje z. Si miras aquí en la parte superior del transporte, si usamos la rotación z, el jugador R gira. Entonces éste es el que se estará congelando. Está bien, genial. ¿Todavía está complacido. Necesitábamos anular aplicar todo. Y ahora vamos a cerrar eso. ¿ Por qué me está diciendo que necesito cambiar mi capa de colisionador o pastel puede jugar, y ahora nuestro jugador se pone de pie usando su martillo. No es muy realista, pero es un juego de plataformas 2D y está bien. No necesitamos que sea muy realista. Entonces espero que hayan disfrutado el video. Espero que intentes hacer el reto y te veré en el siguiente.
23. Sección 4: cómo mover nuestro conquistador horizontalmente: Bienvenido de nuevo a otro video e inicio de un nuevo capítulo en nuestro viaje de desarrollo de juegos. En este video, vamos a empezar a movernos. Nuestro jugador basado en la entrada del teclado estará usando la misma fórmula que hicimos para el proyecto anterior o para el mágico Game Cube, pero con un giro diferente al que veremos en un poco. Entonces como puedes ver, presionamos la flecha derecha, se mueve a la derecha. Pasamos por la flecha izquierda, se mueve a la izquierda. Y te veré en una. de acuerdo, entonces como sugiere el título, queremos manipular el comportamiento de nuestro objeto de juego. Entonces, ¿qué necesita eso? Bueno, eso necesita un es correcto y eso significa codificar, lo cual es muy emocionante y un poco aterrador. Entonces sigamos adelante y añadamos un guión a nuestra capa, mientras que nuestro jugador, ya lo tenemos. Entonces vamos a Añadir Componente y crear un guión al que llamaremos simplemente jugador. Aquí abajo tenemos noticias corruptas y vamos a crear y añadir un guión. Espere a que entienda lo que está pasando. Y está bien, así que empecemos por crear una carpeta. Una de mis cosas favoritas personales que hacer, al parecer así guiones, guiones, y vamos a añadir la capa a nuestros guiones. Genial, hagamos doble clic en eso. Y esperemos a que Visual Studio se abra y entienda todo. De acuerdo, así que quería hacer eso inicialmente, inicialmente dibujó el reto más adelante, pero creo que lo haré justo ahora. Entonces si estás listo, puedes tomar la iniciativa y mover tu capa. Lo primero que haces es importar una parcela cruzada para entrada de
plataforma ya que paquete que te he proporcionado y los recursos. Después se crea un método de ejecución que se llama desde dentro de la actualización. Y luego dentro de Ron usa el cuerpo rígido para mover al jugador. Y por último, añadir una variable para controlar nuestra velocidad. Entonces es una tarea un poco desalentadora. Si crees que tienes suficientes habilidades,
hazlo, sigue adelante y pausa el video y pruébalo. Si no, y crees que es demasiado grande de una montaña para escalar, Espérame, lo haré frente a ti. Y una cosa más si en algún momento sientes que puedes seguirlo solo, te
recomiendo que pausas el video y lo hagas. Entonces te veré en, solo grábalo. De acuerdo, bienvenido de nuevo. Entonces tal vez has intentado
agregar la entrada multiplataforma de los recursos que te he proporcionado. Pero también puedes entrar en la Tienda de Activos de Unity y buscar activos estándar, que tiene la entrada multiplataforma en su interior. ¿ Qué es la entrada de plataforma cruzada? Bueno, es algo que estaremos usando en lugar de entrada. Y literalmente hace lo que dice. ¿ De qué se llama esto? Bueno, es entrada multiplataforma. Eso significa que está a través de múltiples plataformas. Entonces este juego que estamos creando en este momento podría ser en una Computadora en una PC, o tal vez puede ser en una PlayStation cinco que sale recientemente. Pero claro, como este no va a ser un PlayStation cinco juegos, pero ¿quién sabe? A lo mejor podrías crear un PlayStation cinco a partir de estos sencillos gráficos. De todos modos, sigamos adelante e importemos el paquete multiplataforma. Entonces simplemente entra a los recursos y arrastra el paquete multiplataforma a nuestros activos para, te
pediré, ¿quieres importar todos estos? Simplemente haga clic, oh, ¿qué es esto? De acuerdo, no te preocupes por eso. Ya importamos eso y lo que sí necesitamos como los activos estándar. Así que adelante, busca multiplataforma. Haga clic en eso y ahora simplemente haga clic en importar. Sólo se necesitan los activos multiplataforma. Y si has descargado los activos estándar de internet, también solo elige la plataforma cruzada. No hay nada malo que hacer bien si importas todo, pero por ahora solo necesitamos la multiplataforma. Entonces espere a que eso importe. Y ahora deberíamos tener una carpeta que se llama carpeta multiplataforma. Y sigamos adelante y sumamos los extras 2D, que está bajo el Archivo 7.15 lo que sea, a nuestro activo estándar para hacer todo menos más cohesivo. Como me gustaría decir, guarde eso. Volvamos a Visual Studio. Y debido a que hay una modificación de archivo detectada, te pedirá una recarga. Simplemente recargar. Recargar de nuevo. Ya no debería hacerlo. Todo está bien. De acuerdo, entonces lo primero que vamos a hacer, estaremos agregando un uso multiplataforma. Eso significa en la parte superior aquí. Y no estoy seguro de haber explicado esto lo suficiente. Estas son las bibliotecas que estamos utilizando. Por ejemplo, el motor Unity es la biblioteca para el arranque y la actualización y todas las demás cosas relacionadas con Unity que utilizamos un script R. Por lo que ahora tenemos que importar la biblioteca multiplataforma y lo hacemos escribiendo usando los activos estándar Unity dot cross platform input. Por lo que ahora tenemos acceso a la entrada de plataforma cruzada. Lo siguiente que vamos a hacer es que vamos a crear un método de ejecución. Este sería un método privado. No devolverá nada. Eso significa que es un vacío y se le llamará correr. ¿ Y qué debemos hacer dentro de run? Bueno, vamos a usar el método get-x y conseguir lo horizontal. Entonces, bueno, lo primero que vamos a hacer es ponerlo dentro de una variable. Entonces va a ser un flotador. Va a ser, llamemos a esto. Control tiro. Y va a ser u usando en lugar de entrada usará gestor de entrada multiplataforma, diría gran palabra, pero es lo que usamos en lugar de entrada. Se va a utilizar el eje de punto get. Ahora, dentro de get axis necesitará nombre de cadena para nuestras entradas. ¿ Y de dónde sacaremos eso? Bueno, volvamos atrás y a la unidad aquí. Y si vamos a editar y buscamos ajustes de proyecto, podemos ver que tenemos nuestro Input Manager que se abre. Y si no lo tienes abierto, simplemente haz clic en Administrador de entradas. Entonces aquí es donde tenemos nuestra configuración de proyecto. Aquí hay muchas cosas. No necesitamos repasar todos ellos. Entonces, por ejemplo, tenemos física 2D, que estaremos usando muy pronto. Pero por ahora, centrémonos en el gestor de entrada. Tenemos este eje aquí. Y si hacemos click en eso, podemos ver que tenemos muchas opciones. Entonces, y una de ellas es la horizontal. Horizontal como cuando hacemos click en la a o la, y esto es exactamente lo que necesitamos. Entonces porque y aquí obtienen acceso necesita una referencia de cadena. Bueno, vuelve atrás y al gestor de entrada. Y cada vez que tenemos una referencia de cuerda, siempre
vamos y la copiamos. Nunca asumimos que lo hemos escrito correctamente porque nunca lo hacemos y no podemos encontrar el error. Entonces tenemos un tiro de control. ¿ Y por qué usamos una variable flotador para atrapar esto importante? Porque lo demostraré. Entonces si hacemos clic aquí imprimir y controlaremos tiro, imprimamos eso y veamos qué pasa. Y eso no se olvida llamarlo en el método de actualización. Entonces guarde eso de nuevo en Unidad. Eso está oscuro esto aquí junto a nuestra paleta de azulejos. Y eso es, creo que es un buen lugar. Y ahora si hacemos click en la jugada y hacemos click a la izquierda, en la flecha izquierda, se puede ver que ralentiza los va de 0 a menos uno y luego volver a casi 0. Y si hacemos click en la flecha derecha, va de 0 lentamente a uno. Y es por eso que necesitamos guardarlo dentro de una variable para tener siempre control sobre. Entonces ahora que tenemos en, eliminemos esta impresión aquí mismo. Fue sólo para demostrar cómo funciona esto. Lo siguiente que vamos a hacer es crear una velocidad de jugador de vector tipo dos. Entonces lo haremos consiguiendo primero el cuerpo rígido. Entonces vamos a crear una variable aquí mismo que es el cuerpo rígido. Por lo que es un cuerpo rígido 2D, lo
llamaremos mi Cuerpo Rígido 2D. Y anteriormente hemos usado, llamamos a esto una variable pública y hemos agregado desde el Inspector. Pero ahora te voy a enseñar una forma mucho mejor y tal vez más eficiente de hacer eso y abrigo. De la forma en que vamos a hacer eso es de inicio, vamos a llamar a nuestra variable. Y le vamos a asignar el cuerpo rígido que actualmente
se encuentra sentado en nuestro objeto de juego de jugador. Por lo que usaremos get component, que obtiene cierto componente. Y ese componente es, bueno, es un cuerpo rígido al d. Y así es como está escrito. Ahora tenemos una referencia a nuestro cuerpo rígido, a la, vamos a seguir adelante y cambiarlo y correr. Por lo que vamos a dar click aquí. Es mi Cuerpo Rígido 2D. Pero antes de eso, crear una variable para nuestra velocidad de lugar. Y esa variable va a ser un vector dos. Llamaremos a este jugador velocity. Velocity. Y visualización o velocidad será igual a un nuevo vector dos. Y nos moveremos, nos estamos moviendo en el eje horizontal. Por lo que sólo estaremos cambiando la velocidad en la dirección x u horizontal. Por lo que esto sumará los controles tiro al eje x y 240 y simplemente lo mantendrá como mi cuerpo rígido punto velocidad y punto y. entonces en la dirección y, la velocidad no cambiará. Y por último, asignaremos la velocidad de punto 2D de mi Cuerpo Rígido
será igual a la velocidad del jugador que hemos creado actualmente. Entonces guarde eso. Volvamos a Unity y veamos si hicimos algo correctamente. Por lo que da click aquí, son cascadas de jugador. Si te mueves a la izquierda, lentamente
se mueve hacia la izquierda. Y si nos movemos a la derecha, él también despacio, muy lentamente se mueve hacia la derecha. O K. Excelente. Como ya han visto, se
mueve muy despacio y tendremos que arreglarlo. Y para hacer eso, vamos a crear aquí una variable para la velocidad de Ron. Entonces sigamos adelante y creemos algo que llamamos un campo serializado que muy aterrador. Algunas palabras de fantasía que usas Michel. No te preocupes, te explicaré qué es eso. Y el campo serializado es igual que público, donde podemos cambiar la variable de nuestro Inspector. Pero la única diferencia es que en realidad podemos manipular esa variable a partir de un guión diferente. De acuerdo, entonces usamos funciones públicas para cambiar, para usar funciones de diferentes scripts, en realidad
podemos usar campo serializado para cambiar variables. Y no creo que lo estemos usando demasiado, pero digamos, por
ejemplo, que quieres cambiar la velocidad de tu jugador, por
ejemplo, dependiendo de la plataforma en la que estés parado, puedes seguir adelante y hacerlo usando el campo serializado. Ok, pequeña explicación. Sigamos. Vamos a hacer de esta velocidad de carrera un flotador, y lo llamaremos simplemente alrededor de la velocidad. Y cuál debería la velocidad de hebra B. En realidad
podemos hacer algo. Probemos con diez. Y lo vamos a multiplicar con la fila de controles aquí mismo. Por lo que la velocidad R1, no Trump, en realidad corrió Speed. Y ahora, si volvemos a Unity y hacemos click en inspector y pinchamos en jugador, ahora podemos ver que tenemos una velocidad de carrera de rentas de diez. Entonces entramos en modo de juego. Podemos movernos ahora con una velocidad de diez y
en realidad podemos aumentar esto a 100 C. ¿Qué pasa? Y nuestro jugador, ¿qué viste que viste lo que acaba de pasar? ¿ Ves cómo desapareció nuestro jugador? Pero en realidad todavía lo puedes ver aquí mismo en la esquina inferior izquierda. No te preocupes por eso. Ya veremos un par de instancias más de esto, pero lo estaremos arreglando más adelante en los otros videos, así que espero que lo disfruten. Esta es la parte donde nuestro jugador cobra vida y
empezamos a manipularlo usando código y todo es divertido. Todo está muy fresco. Espero que lo disfruten y los veré en el siguiente video.
24. Envoltura a nuestros jugadores sprite: Bienvenidos de nuevo a todos. Nuestro jugador ahora se mueve en el juego. Pero el problema es que hace un paseo por la luna. Entonces cada vez que nos estamos moviendo hacia atrás, él no da la vuelta p simplemente hace un paseo lunar. Y eso no queremos. En este video, vamos a estar volteando jugadores o si hacemos click en play,
podemos ver que cada vez que nos movemos a la derecha, nos movemos a la derecha. Pero cuando empezamos a movernos hacia la izquierda, en realidad
volteamos a nuestro jugador. Y ahora se mueve en dirección y en realidad mira en la dirección que se mueve, la correcta. Tan muy emocionante. No perdamos tiempo y saltemos y empecemos. De acuerdo, entonces ¿cómo vamos a voltear capa en la dirección que se está moviendo? Lo primero que vamos a hacer es que vamos a aplicar todos nuestros cambios al prefabricado. Entonces si miramos de cerca a nuestro jugador, podemos ver que se mueve a izquierda y derecha, pero no da la vuelta. ¿ Cómo vamos a ir por esto? Si subes a nuestra transformación, puedes ver que tenemos posición, rotación y escala. Entonces escala, si aumentamos la escala de nuestro jugador en la dirección x, puede ver que se hace más grande y más grande y más plano y más plano. Pero si lo reducimos 2.30, Él se hace más pequeño. Pero, ¿qué pasa si vamos más allá del 0? Si vas a territorio menos, podemos ver que nuestro jugador se voltea. Por lo que en minús1, nuestro jugador se enfrenta a la otra dirección. Y esto es lo que vamos a estar haciendo. Pero en nuestro código, dependiendo de la dirección en la que se dirija nuestro jugador. Y lo haremos usando matemáticas, pero no matemáticas muy duras. Si no te gustan las matemáticas
, serán simples matemáticas. Ah, está bien, así que ahora vamos a entrar en nuestro Visual Studio y vamos a seguir adelante y crear una función que llamaremos vacío privado. Philip, sprite, guión, sprite. Por lo que tenemos volteretas brillantes y estamos listos para irnos. Entonces voltea bien? Antes de empezar, necesito explicar dos conceptos. En primer lugar, las apps de punto matemático. Entonces espero que recuerden de la escuela lo que significa valor absoluto. Significa que devuelve el valor absoluto de algo. Entonces, por ejemplo, si tenemos matemáticas dot abs menos cuatro, devuelve cuatro y matemática punto seno. Entonces, ¿qué no está firmado? Devuelve el signo de cierto número. Eso significa que si tenemos seno matemático menos cuatro, tenemos menos uno como resultado. Y si tenemos letreros metálicos para, tenemos más uno como resultado. Por lo tanto, este es un resumen rápido de la visión general de las matemáticas de primer grado o algo así. Volvamos atrás y sigamos adelante y creemos un booleano. Entonces entra en Visual Studio. Entonces n esto, vamos a crear un booleano que nos
dirá si nuestro jugador realmente se está moviendo. Entonces sigamos adelante y creemos un tablero que estará corriendo hoary, largo, corriendo horizontalmente. Pero seguro si horizontalmente toma dos horas o solo una, o en realidad se apresura en la a no está en el lugar correcto o K. Así que horizontalmente equivale a punto matemático valor absoluto, mi cuerpo rígido al punto velocidad x. o en realidad se apresura en la a no está en el lugar correcto o K.
Así que horizontalmente equivale a punto matemático valor absoluto,
mi cuerpo rígido al punto velocidad x.
estar preguntándose ¿por qué incluso estamos utilizando el valor absoluto de nuestra velocidad de cuerpos rígidos? Bueno, porque nos estamos moviendo en la dirección izquierda, nuestra velocidad es negativa. Y lo estamos, cuando nos estamos moviendo en la dirección correcta de nuestra velocidad es positivo. Por lo que necesitamos tomar el valor absoluto para asegurarnos que siempre sabemos cuándo se está moviendo nuestro jugador. Y para hacer este booleano, porque ahora mismo no es booleano. Vamos a comprobar si es más grande que, espéralo. Matemáticas, f punto epsilon o k Ahora, nuevo, Michelle, antes usando palabras muy aterradoras. ¿ Cuál es el epsilon de punto matemático. Entonces, en primer lugar, cuando escribimos math.pi f, eso significa que estamos accediendo a la biblioteca de matemáticas donde
tenemos muchas funciones y muchos métodos, herramientas. Y epsilon no es un método ni es una función. Es un, un número pequeño, un número muy, muy, muy pequeño, como digamos para 04 o cinco ceros después de él y uno. Entonces, ¿por qué estamos usando math.pi epsilon y no simplemente comparados con velocidad igual a 0? Si recuerdas en el video anterior cuando intentamos imprimir el tiro de control, puedes recordar cada vez que fuimos a la izquierda, se mueve lentamente de 0 a menos uno. Y luego volvió a menos 0.00009. Nunca volvió al 0 absoluto. Por eso estamos usando matemática f dot epsilon en lugar de simplemente usar 0. Lo siguiente que vamos a hacer es que vamos a usar una condición if. Entonces si corres horizontalmente y dentro de esta condición si, te
voy a emitir un reto. Tu reto es completar la declaración if. Por lo que vamos a voltear nuestro sprite Player basado en la dirección en la que se están moviendo. Y vamos, te daré un par de manos. Se usará la escala local de Transformar punto, y así es como se accede a la escala de un objeto de juego. Y estarás usando,
usa matemática F dot seno para determinar la dirección en la que se mueve nuestro jugador. Así que pausa el video ahora mismo, dale tu concentración total, tu capacidad de pensamiento completo, y haz el reto. Te veré en un rato. De acuerdo, bienvenido de nuevo. Entonces, ¿qué debemos escribir dentro de nuestra condición si? Entonces, ¿su transformación? Porque necesitamos acceso a AAC transforma escala local. Y esta escala local de hecho, también
es un vector, porque es 2D. Entonces estaremos usando la escala en el x e y. así que manda nuevo vector dos. Y lo que debería ser adecuado para la escala x e Y debe permanecer igual. Eso significa que va a ser una F mayúscula. Pero qué debe la XP, mientras que la X estará dependiendo el colgante en la dirección. Entonces vamos a escribir meth F dot sine porque depende de la señal de la dirección. ¿ Y qué dirección es esa? No es mi cuerpo rígido punto velocidad x. Así que ahora guarde eso. Entonces ahora si nuestro jugador se mueve hacia la derecha, la velocidad será positiva, el signo será positivo, nuestra escala se mantendrá una. Pero si los jugadores se desplazan a la izquierda, eso significa que la velocidad es negativa. Eso significa que el signo es minos1, y eso significa que nuestra escala local, x será menos uno. Entonces, veamos si eso funciona. Guarda eso y un pequeño mini reto que te voy a dar ahora mismo. ¿ Dónde utilizamos realmente este flip sprite? ¿ Dónde debemos ponerlo dentro de nuestro código para voltear a nuestro jugador? Te daré un segundo para que lo pienses. Un Mississippi, dos, Mississippi, tres, Mississippi. Ok, se acabó el tiempo. Está dentro de R1 porque solo estamos usando el flip sprite siempre que estemos. Producto. Guarde eso, vuelve a Unidad. Salgamos de la cámara. Haga clic en jugar. Y ahora si nos movemos a la derecha, muévete a la derecha. Si hacemos click en la flecha izquierda, en realidad volteamos. ¿ Y qué tan genial es eso? Oh, bien, genial. Entonces espero que hayan disfrutado el video. Espero que hayas hecho el reto y te veré en el siguiente.
25. Cómo iniciar las animaciones del código: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y este video vamos a estar cambiando nuestro estado de jugadores de nuestro código. Entonces como puedes ver en este momento, tenemos a nuestro jugador en estado de
ralentí, ralentí en cuanto iniciamos el juego. Y si lo movemos a la izquierda o a la derecha, se
puede ver que su estado cambia a correr. Y si nos detenemos, vuelve a cambiar al estado de ralentí. Entonces, no perdamos más tiempo y empecemos. De acuerdo, entonces empecemos primero, reexplicando lo que está pasando en nuestro animador. En primer lugar, lo haremos un poco más grande y haremos zoom. Y así lo primero que tendremos que tomar notas es aquí en entrada. Desde la entrada tenemos una transición directamente al ralentí. Y lo que esto significa es que en cuanto comienza nuestro juego, entramos directamente a la animación en ralentí. Y de ahí tenemos dos opciones o dos estados a los que acudir. Tenemos el estado en marcha y tenemos el estado de escalada, y ambos tienen transición hacia y desde. Entonces por ejemplo, para pasar de ralentí a escalar, podemos ver que tenemos esta línea de flecha blanca que tiene una condición en ella. Y esa condición es que un booleano sea un booleano llamado la escalada para ser verdad. Y para poder volver del estado de escalada Comte o animación, esta escalada, una condición necesita ser falsa. Y lo mismo vale para correr. Por lo que la transición de ralentí a correr necesita que
un cierto booleano sea verdadero y para volver del estado en ejecución, necesitamos una cierta variable o parámetro que se está ejecutando para ser falso. Entonces, ¿cómo vamos a hacer eso usando nuestro código? Bueno, en primer lugar, porque los parámetros están presentes en nuestro animador, lo que tenemos que hacer es conseguir una referencia a nuestros enemigos. Entonces vamos a Visual Studio y tratamos de hacer justamente eso. Entonces aquí estamos en nuestro Visual Studio. Lo primero que necesitaremos es una referencia a nuestro animador. Y lo haremos de la misma manera que lo hemos hecho para conseguir una referencia a nuestro cuerpo rígido. Entonces sigamos adelante y creemos una variable para nuestros enemigos. Por lo que crearemos un metal NA. Y puede hablar por favor. Por lo que un animador llamará a esto mi animador. Y usaremos el componente get para obtener una referencia a nuestro animador. Entonces consigue animador de componentes y cierra eso. Guarda eso. Genial. Por lo que ahora tenemos un referenciado nuestros enemigos. A continuación tendremos que hacer. En primer lugar, estaremos centrándonos en la carrera. Entonces, ¿cómo vamos a cambiar de un ralentí, mientras que eso, entonces de ralentí a correr, cómo vamos a cambiar eso? Bueno, tendremos que poner el booleano porque sabemos que es un booleano. Volvamos atrás y n corriendo. Cuando nosotros. Empezar a correr. Adelante y vayamos al estado en marcha. Entonces lo haremos usando mi animador, que es nuestro punto de referencia. Y tiene múltiples métodos adscritos a ella. Y uno de ellos es el conjunto Bool, y esto nos permite enviarle una referencia. En realidad, tiene dos formas de dar parámetros. El segundo camino es nuestro camino, que le da una cadena y el valor booleano que queríamos tener, el nombre de referencia String y el valor bool que puede ser verdadero o falso. Entonces hagámoslo. primera hora necesitaremos el nombre de la cadena. Y debido a que es una referencia de cadena simplemente volverá a Unity, haga doble clic y copie esa referencia. Porque como sabemos, cada vez que tenemos una referencia de cuerda, siempre, siempre vamos y lo
copiamos. Y ahora necesitamos establecer el valor para ello. Y por supuesto que va a ser cierto. Ahora esta no es la solución final por ningún medio, pero esto demostrará cómo funciona el set pool en mi animador. Entonces volvamos a Unity y veamos si eso funcionó. Si hacemos clic en jugar aquí mismo, nuestro jugador entra en la animación de running. Está bien. No está mal. Al menos sabemos que está funcionando, pero así no es como queríamos. Queríamos volver al ralentí cada vez que detenemos el estado en funcionamiento. Entonces ese va a ser tu reto. Y tu reto es detener la animación en marcha. Por lo que necesitas agregar a nuestro método de ejecución una forma de detener la animación en ejecución. Y eso significa volver al ralentí. Por lo que debe mantenerse cierto mientras el jugador está corriendo y falso cuando el jugador se detiene. Usa el código que hemos creado al voltear el spot. Así que pausa el video ahora mismo y sigue adelante y haz el reto. De acuerdo, bienvenido de nuevo. Entonces, ¿cómo te pusiste con eso? Espero que no fuera muy caliente o espero que fuera por lo menos un poco desafiante. Entonces veamos qué tenemos que hacer. Bueno, porque te he dicho que necesitarás usar algo del método de volteretas bright. Vamos a comprobar si nuestro jugador realmente está corriendo. Y lo haremos simplemente copiando la siguiente línea, que comprueba si nuestro jugador tiene una velocidad en el plano horizontal. Por lo que ahora tenemos un booleano para correr horizontalmente. Y qué podemos hacer, porque esto en realidad es un booleano y es cierto cada vez que el jugador está corriendo y falso si el jugador no está corriendo, podemos ponerlo directamente aquí y nuestro animador. Entonces el hígado reemplaza eso por no,
lo siento , quiero decir, correr, correr horizontalmente. Y hagamos un paso más. Y eso es extraer este método, método y a uno externo porque es solo un poco diferente. esto lo llamaremos cambiar a estado en funcionamiento. Y ahora guardamos todo eso. Tenemos un cambio al estado de carrera que comprueba si nuestro jugador se está moviendo en el plano horizontal y si lo está, eso significa que nuestro correr horizontalmente es cierto. Eso significa que nuestro animador establece el funcionamiento en verdadero. Y si no está corriendo, este correr horizontal será falso. Y de ahí que nuestro animador de pronto correrá a falso. Entonces sigamos adelante y veamos si eso funcionó. Haga clic en jugar. Nuestro jugador se encuentra inicialmente en la animación o estado en ralentí. Y ahora si nos movemos a la izquierda, empieza su carrera. Si nos detenemos, él se detiene y vuelve a ralentí, vaya tasa. Entonces esta es la base para controlar nuestras animaciones desde nuestro código. Nosotros montamos nuestra máquina estatal. Contamos con parámetros a los que podemos acceder en nuestro código. Cuando sucede algo en particular, podemos manipular esos parámetros usando nuestro código y cambiando el estado del jugador. Espero que hayas disfrutado el video y te veré en el siguiente.
26. ¡Agrega la habilidad al JUMP!: Bienvenido de nuevo, mis desarrolladores de juegos favoritos. En este video, vamos a sumar la capacidad a o jugador dos saltos. Por lo que como pueden ver, ahora puede llegar a plataformas que antes eran inalcanzables. Y puede saltar de una plataforma a otra. Y como puedes ver, es muy rápido, es muy emocionante y va a ser muy, muy divertido. Entonces, no perdamos más tiempo y saltemos y se metan k. Entonces primero, quiero hablar de las mecánicas de saltos y cómo están. Por lo que la mecánica de salto será un poco diferente a la mecánica de correr. ¿ Por qué es eso? Bueno, porque correr es diferente a saltar. Porque cuando corremos realmente cogemos velocidad lentamente. Pero cuando
saltamos, técnicamente de inmediato tenemos una velocidad hacia arriba. Por lo que sólo quiero mostrarles cómo aumenta nuestra velocidad en realidad. Entonces si imprimimos la velocidad de capa en nuestra consola ahora mismo, sigamos adelante y probemos eso. Conforme empezamos a correr sin jugador, se
puede ver que es 00 cuando empezamos a correr a la derecha en incrementos lentamente de 0 a 9.79.8 y eventualmente a diez, luego vuelve a 0. Y lo mismo ocurre cuando hacemos click en la flecha izquierda. Pero no queremos que ese sea nuestro juego. En realidad queremos que nuestros jugadores salten inmediatamente en cuanto
presionemos la barra espaciadora o cualquier botón que quisiéramos que se procesen. Y lo haremos usando un tipo de función diferente a
la de obtener acceso estará usando el botón de entrada dot get. Entonces si lees la descripción aquí mismo, puedes ver que devuelve un verdadero. Por lo que es un booleano, devuelve un verdadero durante la llama,
el usuario presionó hacia abajo el botón virtual identificado como nombre_nacimiento. De todos modos, lo que hay que sacar de esto es que de inmediato convierte algo en verdadero y luego volver a falso si presionamos un botón, y eso es lo que vamos a usar. Y por supuesto en lugar de entrada estará utilizando el gestor de entrada de plataforma cruzada. Porque como nosotros, como dijimos antes, queremos que este sea un juego multiplataforma. Y saltemos y empecemos con ello. Entonces lo primero que haremos es quitarle a este padre porque ya ha hecho su trabajo, es servicio terminado. Y vamos a crear una función o un método aquí mismo, que llamaremos simplemente salto. Y ahora si guardamos eso, tenemos la opción de extraer. Tenemos esta pequeña bombilla de luz a la izquierda. Haga clic en él y haga clic en generar método. No te preocupes por lo que esté escrito ya dentro de él. Es un método de vacío privado tal como queremos. Entonces, ¿qué vamos a hacer? Bueno, lo primero que vamos a hacer es que vamos a usar un aceite, crear un booleano. Se va a llamar a booleano, es saltar y eso es saltar va a obtener una entrada del gestor de entrada de plataforma cruzada. Y usaremos la función que acabamos de describir, el botón get down. Entonces abrimos, lo están abriendo y podemos ver que toma una referencia de cadena como entrada. Entonces sigamos adelante y busquemos la referencia de cuerda del salto y pongamos. Entramos en ajustes de proyecto que está acoplado aquí a la derecha. Entonces haz click en eso, hazlo un poco más grande. Y vayamos hacia abajo y veamos dónde tenemos el salto. Ahí está. Entonces es Jump y es botón positivo es espacio. Entonces vamos a copiar esto porque es una referencia de cadena. Y como hemos dicho antes, cada vez que tenemos una referencia de cuerda, siempre, siempre, siempre, siempre vamos a copiarla. Por lo que ahora tenemos el set booleano está saltando y listo. Lo siguiente que tenemos que hacer es añadir velocidad a nuestro jugador en la dirección y. Entonces sigamos adelante y hagamos eso. Por lo que crearemos una condición if. Y si es saltar. Eso significa que si nuestro jugador ha presionado el botón de salto creará un vector. Dos nombrarán a esta velocidad de salto. Y esta velocidad de salto será igual a un nuevo vector dos. Y en la dirección x sólo tendrá mi, estoy en mi cuerpo rígido. Por lo que mi Cuerpo Rígido 2D punto velocidad x. Y en la dirección y, vamos a querer sumar una velocidad, una velocidad para saltar. Y esto va a depender de tu preferencia. Podrían ser cinco, podrían ser diez, podrían ser 20. Y siempre que tengamos una variable así, cuando tenemos algo que es variable, es mucho mejor crear una variable para ella, tal como hicimos aquí abajo para la velocidad de carrera. Entonces vayamos a la parte superior y creemos un campo serializado. Y el campo serializado es algo que podemos ajustar desde diferentes scripts. A lo mejor no lo necesitaremos ahora mismo, pero vamos a seguir adelante y convertirlo en un campo serializado. Entonces dice flotar, flotar, y lo vamos a llamar velocidad de salto. Y inicialmente sigamos adelante y lo hagamos 1515 F porque es un flotador. Entonces 15 F. Y sumémoslo a nuestra velocidad de salto. Está bien, genial. Y como paso final, necesitamos sumar esta velocidad,
saltar, mi cuerpo rígido velocidad de punto. Velocity es igual a nuestro salto. Saltar. Velocity. Oh, bien, genial. Entonces guarde eso. Volvamos a Unity y veamos si eso funcionó. Haz esto un poco más pequeño. Haga clic en jugar. Y ahora nos movemos a la izquierda y a la derecha. Y si presionamos el botón del espacio, podemos ver que saltamos. Pero ese salto es un poco flotante como se puede ver, pero al menos decir inicio. Es un enorme salto adelante en nuestro desarrollo de juegos. Seguramente lo consigues, salta hacia adelante. De acuerdo, no volveré a hacer esa broma. Entonces veamos qué podemos hacer para que este juego sea un poco más rápido. Por lo que podemos ver aquí que tenemos una opción 2D de física y nuestra configuración de proyecto. Y lo que esto nos permite hacer es que nos permita ajustar la física 2D de nuestro motor Unity. Y tenemos muchas, muchas opciones para ajustar. Tenemos velocidad máxima de rotación, tenemos velocidad de traducción, tenemos correcciones angulares. Tenemos un montón de cosas aquí. Dejaré un enlace en los recursos para ir a revisar la física 2D en la documentación de la unidad, puedes entrar en cada detalle que quieras. Pero por ahora sólo nos interesa la gravedad aquí mismo. Como puedes ver, nuestra gravedad actualmente en la dirección x es 0. En la dirección y, es menos 9.81, que es exactamente la misma gravedad que tenemos aquí en nuestro planeta. Entonces si hacemos clic en jugar y
saltamos, en realidad podemos ajustar esto aquí mismo. Entonces si lo logramos, por ejemplo, menos 27, ahora si saltamos, no
saltamos tan alto como lo hacíamos antes. Entonces aquí es donde empezamos a afinar nuestro salto dependiendo de lo alto y lo rápido que queremos que sea nuestro juego. Y un pequeño recordatorio cada vez que terminamos de ajustar algo en nuestro modo de juego, si deshacemos click del juego, veamos que vuelva a su valor original. Así que ten eso en cuenta porque necesitas recordar el valor que elegiste cuando estabas en modo play. Y eso nos lleva justo a nuestro reto y nuestro reto, o tu reto es ajustar tu salto. Por lo que junio la gravedad y la velocidad de salto para hacer mecánico de salto a tu gusto. Y basa tu afinación en cuántas fichas quieres que tu jugador pueda saltar. Por lo que puedes o hacer que totalice tres fichas, puedes convertirlo en el mejor y más alto jumper y en el mundo entero. Depende únicamente de tu preferencia y de cómo quieras hacer que tu ganancia se alimente. Entonces, pausar el video ahora mismo y seguir adelante y hacer el reto. De acuerdo, bienvenido de nuevo. Espero que eso no fuera demasiado duro. Espero que disfruten de ese tipo de retos. Entonces vamos a dar click en jugar y ver qué hace nuestro jugador. Entonces nos movemos a la izquierda y a la derecha y saltábamos. Y ese salto es un poco también. Las náuseas piensan. Entonces hagámosle 100 esta gravedad y ahora es un poco más rápido. Y con el fin de ayudar a nuestro jugador Champollion, vamos a dar click en jugador, vamos a su inspector y hagamos la velocidad de salto. Creo que 50. Entonces veamos 50. Ahora nuestro jugador salta y se puede ver que en realidad desaparece por debajo de la plataforma, lo cual no es bueno. Y enfrentamos este problema antes, como pueden recordar, creo que fue cuando agregamos el Irán hablar con él. Por lo que necesitamos arreglar eso antes de continuar. No sé si te enfrentas a este tipo de problemas mientras haces el reto. Espero que no lo hicieras. Y no es muy difícil en realidad. Si entramos en nuestro cuerpo rígido de jugadores, puedes ver aquí mismo que tenemos algo llamado Detección de colisiones. Y actualmente está en discreto. Y si hacemos click en la lista, podemos ver que tenemos otra opción que es continua, y esto es lo que vamos a elegir para todos los jugadores. Ahora, ¿qué significa eso? Bueno, discreto es chequea por colisiones cada cierta cantidad de tiempo mientras que continuo
es, como dice, está continuamente revisando colisiones cada, creo microsegundo o milisegundo, no estoy seguro, pero discreto es, por ejemplo, cada uno o dos segundos comprueba si hay una colisión. Y los controles continuos constantemente, constantemente en busca de colisiones. Ahora, ¿por qué tenemos la opción discreta? Porque quizá no tengamos un cuerpo que sea muy rápido o por ejemplo, un pájaro en movimiento lento o algo que no necesite una colisión continua con las cosas a su alrededor. Pero si tenemos algo como nuestro jugador, por ejemplo, aquí mismo que tiene una gravedad que es 100. Él cae justo por nuestro mundo. Entonces lo haremos continuo. Continuo es un poco más pesado en el procesador de unidad, pero está bien, podemos manejarlo, estoy seguro. Entonces haga clic en aplicar, volver a los proyectos. Eso es hacer esto, hagamos que esta gravedad 200 porque creo que necesitamos que sea 200. Hagamos 50 la velocidad de salto. Guarda eso, vuelve al modo de juego y mira si eso se siente bien. Sí se siente bien. Entonces, vamos a ver. Creo que podría necesitar chasquear al suelo. Creo que la gravedad es perfecta. A ver si queremos hacer creo que es suficiente. Creo que 54 una velocidad de salto es perfecta. Por lo que espero que sintonices eso a tu preferencia. No tienes que hacerlo igual que yo. Puedes tenerlo lo que queramos. Es tu juego, son tus preferencias y nos vemos en el siguiente video.
27. Retos de salto con IsTouchingLayers(): Bienvenidos de nuevo a todos a un video totalmente nuevo. Y en este, vamos a estar arreglando nuestra mecánica de saltos. Entonces como recuerdan, tal vez en el video anterior, siempre que tratamos de saltar sin jugador, podríamos saltar doble y triple saltar y saltar al infinito. Pero en este video estamos arreglando todo eso. Y ahora nuestro jugador sólo salta cuando está tocando el primer plano. Entonces si intentamos saltar varias veces, sólo
podemos hacer con una vez. Y eso es más realista, eso es más favorable. Y te veré en un rato. De acuerdo, entonces lo que queremos es que nuestros jugadores salten solo cuando estemos tocando el primer plano. Tan susto. Ahora bien, si usamos a nuestro jugador, podemos saltar varias veces, lo cual no es bueno. Nosotros sólo queremos poder saltar cada vez que estamos tocando el primer plano. Y lo haremos usando capas. Entonces si entramos en nuestro primer plano, realidad
podemos ver que tenemos capa justo aquí en el valor predeterminado, y en realidad todo está actualmente en defecto, pero vamos a estar cambiando eso. Entonces lo primero que vamos a hacer es entrar en la capa, click aquí, y se puede ver que tenemos esta capa de agregar justo aquí. Cuando hacemos click en eso, tenemos la opción de agregar muchas capas. Entonces lo primero que haremos es crear una capa y la llamaremos tierra. Y ahora tenemos una capa de suelo. Ahora cuál es la diferencia entre una capa, una capa de clasificación y una capa e impuesto. Bueno, las capas se usan siempre que tenemos múltiples tipos de, digamos colisiones cuando queremos controlar lo que choca con otra cosa y cómo la física de diferentes objetos interactúa contigo viaja. utiliza una capa de clasificación para renderizar cosas en función de la capa de clasificación en la que se encuentran. Entonces si quieres, por ejemplo, hemos utilizado la capa de clasificación para renderizar el fondo detrás del primer plano y detrás del jugador. Y por último, las etiquetas son solo un paso extra de organización. Cuatro capas, se utilizan en el código. Si tenemos, digamos que el jugador puede ser, puede tener, una capa, tendrá una capa para el jugador por supuesto. Y si tiene una capa, puede ser que queramos que interactúe con diferentes objetos de diferentes maneras, y ahí es donde usamos tex. De acuerdo, así que vamos a demostrar cómo funciona la cazadora. Si entramos en cámara, se
puede ver que aquí tenemos algo llamado máscara de llamada, que renderiza todo. En realidad podemos apagar eso, apagar el suelo. Y oh, no asignamos el suelo al primer plano. Ahora primer plano tiene, está en el nivel del suelo, en la capa del suelo. Guarda eso, vuelve a la cámara, vuelve a la vista del juego. Y podemos ver que todo bajo la capa de suelo, que es nuestro primer plano en este momento, no se renderiza. Y si volvemos a encender eso, podemos ver que podemos ver de nuevo el primer plano. ¿ De acuerdo? Entonces. Ahora necesitamos una forma para que nuestros jugadores sepan que estamos tocando la capa de suelo. Y por supuesto estaremos usando eso a través del colisionador porque el colisionador es lo principal que sostiene a nuestro jugador en primer plano. Y vamos a hacer eso usando algo llamado colisionador a d punto es tocar capa. Entonces, ¿qué hace esta función? Bueno, devuelve un Booleano siempre que este colisionador, Collider 2D, que será el colisionador de jugadores, esté tocando cualquier colisionador en esta máscara de capa específica. Entonces, ¿qué es esta máscara de capa? Es algunos, es un entero que se pone dentro de capa tocada. Y nos dice qué capa somos. Entonces, ¿cómo vamos a usar esta máscara de capa? Si bien por suerte tenemos una función que se llama Máscara de capa punto get mask. Y esto nos permite realmente escribir u obtener una referencia de cadena del nombre de las capas. Y devuelve un entero, la Máscara de Capa creada a partir del nombre de la capa. Entonces obtenemos nuestro nombre de capa. Ponemos dentro de máscara de capa. Lo usamos para, ponemos dentro de la máscara del gueto que es utilizada por la Máscara de Capa. Y ponemos todo eso y nos sentamos dentro de está tocando capa para ser utilizado por el colisionador. Entonces vamos a hacer algo un poco diferente ahora mismo porque es hora de tu reto. Y tu reto es detener el salto maltés. Por lo que necesitarás usar el punto de colisionador 2D es tocar capas. Tendrás que usar el punto Máscara de capas GetMax, nombres de
capas que deben ser molidos. Esa es una mano pequeña. Y tendremos que completar la lógica y evitar que el jugador salte con múltiples saltos. Entonces conozco este reto, pero temprano no te he mostrado cómo se hace, pero te he dado todos los recursos que necesitarás, y te he dado todos los ejemplos y métodos. Así que pausa el video ahora mismo y dale este reto ego. Kay, bienvenido de nuevo. ¿ Cómo te metiste en eso? Entonces lo primero que necesitaremos es que tendremos que entrar a nuestro Visual Studio. Y antes de que empecemos, sé que te he dicho en realidad que necesitará una referencia para nuestro colisionador porque los colisionadores son los componentes que utilizan la capa de destrucción. Entonces sigamos adelante y obtengamos una referencia para nuestro colisionador. Sabemos que nuestro jugador tiene un colisionador de cajas encima. Entonces hagámoslo. Vamos a crear una variable que sea un Colisionador de Caja 2D t. Y lo llamaremos mi Colisionador de Caja 2D. Y lo usaremos en el Inicio, My Box Collider 2D será el componente Box Collider 2D que está en la cuadrícula Player O K. Ahora, ¿por qué me dice eso? escribí mi cuerpo rígido por error, discúlpame. Entonces es mi Colisionador de Caja, 2D o k. Genial. Entonces ahora lo que tendremos que hacer es evitar que este método de salto se ejecute a menos que estemos tocando el suelo. Entonces, ¿cómo vamos a hacer eso? Eso haremos usando una condición if. Entonces, entonces lo primero, vamos a escribir si y abrir los corchetes y ¿qué debemos escribir dentro de él? Entonces tendremos que escribir dentro de ella. My Box Collider 2D dot está tocando capas. Y dentro de esta capas conmovedoras, escribiremos máscara de capa porque como ves nos está pidiendo una máscara de capa. Escribimos Máscara de capa, punteamos, obtenemos Máscara, y abrimos los corchetes. Y ahora puedes ver que nos está pidiendo una referencia de cuerda. Y ya puedo oírte. Me estás diciendo que si tenemos una referencia de cuerda, tenemos que ir a Unity y copiarla. Entonces voy a hacer, como tú pides, entramos en las capas, copiamos el suelo aunque sea una palabra muy fácil, pero tienes que meterte en el paso de hacerlo. Entonces ahora abrimos los corchetes y ¿qué debería haber justo dentro de ella? Bueno, veamos. Podemos hacer esto de dos maneras. En primer lugar, podemos llevar todo este código aquí y ponerlo dentro de estos dos corchetes. Y siempre que estemos tocando, la capa de tierra ejecutará el código. Pero hay una manera diferente y una manera mucho más suave. Entonces de esa manera es, en primer lugar, vamos a añadir un signo de exclamación justo detrás de esta afirmación. ¿ Y qué esto lo que hace este signo de exclamación, niega
lo que esté frente a él? El estado dentro de éste es falso. Ejecutará lo que esté dentro de los corchetes rizados. Entonces digamos que no estamos tocando el suelo. Eso significa que esta capa está tocando devuelve falso. Y debido a que tenemos un signo de exclamación justo detrás de
él, hace que toda esta declaración sea cierta y ejecuta algo dentro de estos corchetes. ¿ Y qué hay dentro de estos corchetes? Es algo que nunca habías visto antes. A lo mejor, a lo mejor sí, pero en realidad va a volver. Hemos utilizado el retorno antes en la sección anterior. Y lo que este retorno, los que no tienen nada, en realidad nos saca de nuestro método de salto. Entonces cada vez que escribimos retorno sin nada a
su lado, simplemente salta de la función de salto y continúa en la actualización o donde
sea, donde quiera continuar. Entonces guarde eso. Y veamos si eso realmente funciona. Entonces volvamos y a nuestra unidad y pinchemos en jugador. Eso significa más pequeño. Haga clic en jugar. Y ahora mientras nos movemos, nos movemos, saltamos. Pero si saltamos doble, ya no
podemos doble salto porque actualmente no estamos tocando el suelo. Pero aquí hay un problema. Como puedes ver, nos quedamos atrapados en la pared. Entonces si voy junto a una pared y sigo dando click en el botón izquierdo, se
puede ver que la flecha izquierda, puede ver que estamos pegados a la pared y vamos a arreglar este problema más adelante. Otra cosa es que tenemos doble salto. Si estamos tocando un muro y eso no es deseable, lo
arreglaremos en el siguiente video porque éste se está poniendo un poco demasiado largo. Te veré en el próximo.
28. Cómo prevenir el salto de pared: Bienvenidos de nuevo a todos a otro video. Entonces como puedes ver aquí, cada vez que hacemos click en play, tenemos dos problemas sin jugador. En primer lugar, si saltamos junto a una pared y seguimos presionando la flecha izquierda o el botón a. Podemos ver que se sigue atascado en la pared. Ese es un problema de fricción. Y el segundo problema aquí es que si realmente
podemos saltar doble en la pared para que como puedes ver, no
toca el suelo y sin embargo todavía puede saltar. Es decir, ve y arregla esto para demostrarlo un poco mejor. Entonces si entramos en nuestro pellet de azulejos, escoge el borrador, elige el primer plano, borra eso. Elige la plataforma, ve al fondo y realmente dibuja algo. Guarda eso de nuevo en el juego. Y ahora se puede ver que podemos saltar doble sobre la pared sin siquiera tocar el suelo. Entonces arreglaremos eso también. ¿ De acuerdo? Lo primero que vamos a resolver es el problema de fricción. Y para ello, vamos a hacer primero la parte Mi favorita de toda
la creación de proyectos y eso es crear una carpeta. Llamaremos a esto materiales. Y dentro de los materiales, vamos a hacer clic derecho y crear un material 2D de física. Entonces crea eso, llamaremos a esto 0 fricción. ¿ De acuerdo? Por lo que he dejado en los recursos una documentación sobre materiales de física. D puedes leer todo sobre ellos, pero honestamente es muy sencillo. Entonces si hacemos click en esto, realidad
podemos ver aquí en el inspector que tenemos dos opciones. Una de ellas es fricción y la otra es rebotes. Entonces la fricción es lo que se pega a la pared
pondrá a 0 y la rebote es lo que nos hace rebotar. Entonces, por ejemplo, si quieres agregar un trampolín a tu juego, puedes crear un material 2D de física con rebotes y añadido a un vagabundo. Limpio. Entonces ahora vamos a entrar en capa. Y debido a que lo
somos, en realidad somos capaces de hacer el salto, doble salto por culpa de nuestro colisionador. Y si hacemos click en nuestro colisionador de cajas, podemos ver aquí que tenemos algo llamado material. Y este material toma un material 2D de física. Entonces lo que vamos a hacer, es
obvio que vamos a arrastrar nuestro material de fricción 0 y ponerlo en el colisionador de cajas. Como pueden ver, también podemos aplicar eso a nuestro prefabricado. Entonces aplique eso. Y ahora si hacemos clic en jugar, vamos a nuestra pared y todavía podemos saltar doble, pero ya no nos quedamos atrapados en la pared. Y tampoco nos quedamos atrapados aquí ni allá. No nos quedamos atascados en ninguna parte. Oh, bien, genial. Por lo que se hace primera parte del video. La segunda parte es tu reto. Tu reto es evitar que el jugador salte de pared. Por lo que en primer lugar, detienes el multi salto del jugador mientras tocas la pared. Y te daré una pista, que es añadir un segundo colisionador a los pies de nuestro jugador. Por lo que hay que añadir un segundo colisionador, que sea. Para que quepa en los pies de nuestros jugadores, hay que añadir un tipo diferente de Collider. Te recomiendo usar el colisionador de polígonos. Y debes hacer de este colisionador lo que tiene que tocar la pared. De acuerdo, esos son suficientes barda. Pausa el video ahora mismo y haz el reto. De acuerdo, bienvenido de nuevo. Entonces espero que lo intentes. Entonces empecemos este show. Lo primero que vamos a hacer es añadir un componente. Y ese componente va a ser un colisionador de polígonos a d y polígono. Bueno, porque podemos hacer una caja con ella. Y como ya TE tenemos, ya que ya estamos usando un colisionador de cajas, no
podemos usar eso. Entonces ahora mismo vamos a editar este colisionador de polígonos para hacerlo justo a los pies de nuestro jugador. Entonces hagamos esto un poco más pequeño. Y si quieres eliminar las líneas innecesarias, simplemente espera, sostén el control. Y puedes ver que no puedes eliminar múltiples sitios. Entonces dejaremos este. Acercar la canción, el cisne más cerca o controlar borrar, borrar, eso. Ni siquiera necesitamos éste. Y ahora tenemos un colisionador de caja o en realidad polígono a la derecha. Nuestros jugadores encajan y lo hacen un poco más pequeño. Entonces, quiero decir, debajo del colisionador de cajas de nuestros jugadores, así que hazlo así de grande, así de grande ,
y eso, creo que es suficiente. Guarda eso y aplícalo a nuestro periférico. Oh, bien, genial. Ahora tenemos un colisionador de polígonos en nuestro jugador. Genial, guarde eso. Ahora, ¿qué debemos hacer a continuación? Bueno a continuación habrá que añadir este colisionador de polígonos a nuestra caja, o en lugar de nuestro colisionador de cajas aquí. ¿Por qué es eso? Bueno, porque ahora nuestro colisionador de polígonos ya
no tocará las paredes siempre que queramos saltar. Entonces de esa manera no hará un buitre. Lo primero que necesitaremos es que necesitemos obtener una referencia a nuestro colisionador de polígonos. Por lo que simplemente crea una variable de colisionador de polígonos al tipo. Llamaremos a esto mis capas pies. Y vamos a UPS, perdón por eso. Y vamos a, mis pies jugadores serán un componente que es un polígono Collider 2D. Yo quiero conseguir, vale, genial. Entonces ahora tenemos una referencia a que nuestros jugadores encajan en ese guión. Y ahora vamos a cambiar esto. Entonces vamos a cambiar el colisionador de mi caja a mis pies, mis lágrimas pies. Eso lo guardamos y vayamos a Unidad y veamos si eso funcionó. Entonces ahora si nos
paramos, podemos saltar, no podemos saltar doble. Y si vamos al muro, no
podemos saltar sobre el muro varias veces. Excelente. Oh, bien, genial. Entonces espero que hayas disfrutado de este breve video y te veré en el siguiente. Todo el mundo, perdón por pasar por aquí, pero pensé que esta es una gran oportunidad para recordarles hacer algo muy importante y eso es comprometer nuestros cambios. Entonces como pueden ver, he estado cometiendo mis cambios constantemente. Entonces voy a escenificar todo ahora mismo y comprometeré este cambio, cambios. Yo lo llamaré bajó la fricción a 0 e impidió saltar a pared. Genial. Por lo que espero que estés haciendo tu parte del trabajo de guardar siempre y comprometer tu trabajo. Te veré en el próximo.
29. Cómo añadir la mecánica de la escalada: Bienvenidos de nuevo a todos a un video totalmente nuevo, y este probablemente será el video más largo de la serie. Entonces, pero va a valer la pena porque cuando hacemos clic en jugar, como pueden ver aquí, tenemos esas sábanas y esas sábanas en realidad nos ayudan a subir a nuestro pozo en nuestro entorno. Y por ello, hay lugares que antes eran inalcanzables como esa superficie de ahí que ahora podemos subir en nuestras sábanas. Es muy divertido. Es muy guay. Y quiero que no te sientas muy frustrado con la duración de este video. Te veré en un bien, así que lo primero que vamos a hacer es que vamos a estar importando sprites. Entonces, solo sigamos adelante en declaraciones o recursos poco claros. Consigue las declaraciones y ponlas dentro de sprites. Y sigamos adelante y creemos una carpeta. Llamaremos a esta carpeta terreno. ¿ Por qué no hacer clic en declaraciones o saber que los estudiosos. Y por Ron significaba, espero haber escrito eso correctamente, ponerlos en un entorno y rebanemos nuestras hojas de cálculo. Entonces haz que este 30 para que este sea múltiple. Seguro que ya estás muy familiarizado con lo que estamos haciendo. Lo hemos hecho varias veces y lo vamos a rebanar. Así que adelante y haga clic en rebanada cuadrícula, cuadrícula, tamaño de celda. Entonces 32 por 32 y rebanamos a ese bebé. Está bien, genial. Ahora o dar click en Aplicar. Y no estoy seguro si esas se llaman drapes o
se llaman Trampas para colgar o no, no estoy seguro. Puedes llamarlos como quieras. Guarda eso. Y por cierto, lo estamos usando porque no encontré otros sprites. Bueno, en realidad libere a los otros sprites. Pero eso está bien. Volvamos atrás. Usaremos lo que tengamos a mano. Y en realidad hace un juego más divertido. Entonces ahora es el momento de un reto. Por lo que quiero que termines la escalada. Lo primero que debes hacer es configurar el mapa de azulejo de escalada con sus capas. Y por cierto, este es un mega reto. Y luego necesitarás crear un método de subida. Deberás comprobar si nuestro jugador está tocando la capa de subida de Bing. Y necesitarás añadir una velocidad de escalada al eje y utilizando el método get access. Por último, necesitarás activar la animación de escalada mientras nuestro jugador está escalando. Ahora bien, este es un reto enorme. Es el reto más grande que hemos hecho hasta ahora. Entonces si te sientes un poco abrumado, puedes empezar y luego hacer una pausa y luego empezar de nuevo. O puedes verme hacer el reto. Y siempre que sientas que tienes todo bajo control, simplemente pausa el video y continúa. Te daré tu tiempo. Así que pausa el video ahora mismo y ve a hacer el mega reto. De acuerdo, bienvenido de nuevo. ¿ Cómo te pusiste alrededor de eso? Entonces hablemos. Lo primero que tenemos que hacer es añadir. Trabaja aquí. Entonces vamos a dar click en las drapeadas que necesitamos y seleccionarlas. Hold Control. Ah, perdón por eso. Por lo tanto, mantenga el control y seleccione las cosas que necesitamos. Arrástrelo a nuestra escena. Nos pedirá crear estos estilos. Entonces, entremos a los azulejos. Son terreno, No, no son tejas de terreno crearán una nueva carpeta y estos serán los objetivos climáticos. Espero que el clima esté escrito correctamente, así que Suba murmura, y ahora los tenemos en nuestro paladar. Entonces sigamos adelante y editamos esto. Editar, por favor. Entonces ahora seleccionamos, bueno, con segundo, seleccionamos éste y lo vamos a mover aquí y lo pondremos justo encima de nuestros otros Azulejos. Haga clic de nuevo en faltado para moverlos y guardar eso. Y ahora tenemos la capacidad de dibujar nuestros goteos. Enfriar. Ahora, intentemos eso por un segundo. Ah, y antes de que hagamos eso, sigamos adelante y creemos una cuadrícula de mapeo de teselas. Me refiero a un mapa de azulejos. Entonces objeto 2D, mapa de teselas, y llamaremos a este mapa de teselas goto specter. Llamaremos a este mapa de azulejo escalada. Excelente. Ahora, de vuelta a la paleta. Haga clic en escalada. Ya se ha hecho clic y ahora podemos dibujarlo, pero no en nuestra escena. Antes de hacer eso, quiero crear una pequeña plataforma. Entonces sigamos adelante y a primer plano. Escogamos dos de ellos y lo borraremos porque no quiero esto aquí en este momento. Volvamos al fondo, termina eso. Y vamos a ver. Yo quiero hacer un poco de edición aquí, así que tal vez acelere este video. Oh, bien, bienvenido de nuevo. Entonces sigamos. Entonces como pueden ver, he creado esta plataforma aquí mismo que nuestro jugador puede conseguir también mientras salta. Sólo podemos llegar hasta allí usando nuestras drapes especiales. Entonces eso se va a subir y vamos a sumar nuestras drapes. Y como pueden ver, no podemos verlos. Entonces vamos a cambiar eso creando algunas capas para nuestras tarifas. Entra en agregar capa. Y vamos a crear aquí una capa para escalar. No, no es la capa de clasificación, pero usaremos eso también para tocar nuestras drapes. Y crearemos una capa para la capa de clasificación. Y ahora lo tenemos renderizando frente al fondo, pero detrás del jugador. Excelente guardar eso, volver a subir,
entrar al inspector, Haga clic en el renderizador de mapa de azulejo, y en la capa de clasificación hacer esta escalada. Y ahora lo podemos ver perfectamente. Y también hagamos la capa en la tasa de escalada. Otra cosa que debemos hacer es añadir un colisionador. Entonces sigamos adelante y le agreguemos un colisionador de cajas. Y vamos a ver, este colisionador está 100% equivocado. Hagámoslo cada vez más pequeño. Y acerque y asegúrate de que la superficie que el jugador pueda tocar con el fin de subir como dentro de las drapes. Entonces hazlo así perfecto. Y otra cosa que deberíamos estar agregando es un colisionador compuesto. Por lo que los puertos COM Composite Colisionador 2D. Y nos aseguraremos de que el cuerpo rígido sea estático y que nuestro colisionador de cajas sea utilizado por compuesto. Guarda eso. Oh, bien, excelente trabajo. Sigamos adelante. Lo siguiente que tendremos que hacer es crear una función para declinar. Porque a partir de ahora y no podemos escalar nada. Entonces si hago clic en jugar, nuestro jugador simplemente se topa con nuestros tramposos colgantes. Y otra cosa que tenemos que hacer es
asegurarnos de que nuestro colisionador compuesto aquí mismo sea un gatillo. Y lo que esto lo hace, se puede usar como colisionador, pero en realidad no podemos colisionar con. Entonces, por ejemplo, si saltamos sobre él, oh, en realidad voy a jugar o tal vez no puedo llegar a eso. Oh, no, no puede. Por lo que no necesita la escalera. Genial. Entonces como puedes ver, nuestro jugador no colisiona con las drapeadas. Guarda eso. Y lo siguiente que vamos a hacer es entrar en nuestro Visual Studio y seguir adelante y crear nuestra función o método de ascenso. Y vamos a generar eso. Entonces tenemos una función de subida que es privada y no devuelve nada. Lo primero que vamos a hacer es que vamos
a comprobar si estamos tocando la capa de escalada. Entonces ya lo hemos hecho y usaremos mis jugadores fit. Preferiría usar mis pies para escalar. Entonces como tocar capas, máscara de
capa y la Máscara de capa o utilizar el componente get mass y necesita una referencia de cadena. Eso significa, a pesar de que sabemos que escalar es muy fácil de escribir, Volveremos atrás, copiarlo, y pegarlo dentro de aquí. Y no estaremos usando el mismo método que hemos usado en salto. Sabrás por qué muy pronto. Entonces lo siguiente que vamos a hacer es que vamos a usar el get access. Y si sientes que puedes seguir desafiando en este punto, simplemente pausa el video, vuelve a
revisar el reto y ve lo que necesitas hacer y completado en ti mismo. Entonces pausa el video. De acuerdo, estamos de vuelta. Entonces vamos a conseguir el eje. Tan bueno, se use el mismo método que usamos para el running. Por lo que crearemos un flotador que se llama tiro de control. Y usaremos el gestor de entrada multiplataforma, dot. Consigue hachas, y esta vez debe ser en la vertical. Entonces, ¿vamos a ver qué? Oops, esto es un reto otra vez para ti. Entonces vamos a ver en nuestra configuración de proyecto y mientras que las entradas, gestor de
entrada comprueban la vertical y veamos los EU y W. Copiar la vertical, volver atrás y a la unidad y estoy en Visual Studio y ritmo eso, genial. A continuación tendremos que crear una velocidad de escalada para sumar a nuestro jugador. Entonces, adelante y haz eso. Es exactamente lo mismo que para correr, pero ahora es velocidad de escalada. Por lo que la velocidad de escalada es igual a un nuevo vector dos. Entonces ahora lo que necesitamos para hacer esto, tendremos que sumar una velocidad en la dirección y, pero mantener la velocidad de dirección x igual. Entonces entraremos en mi cuerpo rígido dos d punto velocidad x. Entonces esta velocidad se mantendrá igual, por cierto, si quieres probarlo, realidad
puedes hacer la velocidad en el x 0. Entonces de esa manera cada vez que nuestro jugador toca realmente las drapeadas, se queda atascado ahí y ya no puede moverse, lo cual es un poco más lógico. Pero porque esto es otra vez, creo que lo mantendré velocity x, siéntete libre de hacerlo 0 f. Y lo siguiente que vamos a hacer es que vamos a añadir un tiro de control en la dirección y. Pero ya sabemos que eso será demasiado lento. Entonces vamos a crear una variable aquí mismo. Y claro que va a ser un campo serializado. Va a ser un flotador y va a ser velocidad de escalada. Y nuestro discurso de escalada debería ser, creo 8.5. Es una buena velocidad de escalada. Por lo que el tiro de control multiplicará eso con nuestra velocidad de escalada. Cierra ese paso final. Mi Cuerpo Rígido 2D velocidad de punto será igual a la escalada. No, quiero decir, me refería a velocidad de escalada. Gracias. Cierra el punto y coma. Recuerda siempre cerrar los puntos y comas. Y ahora lo hemos dicho todo. ¿ Qué más necesitamos hacer? Tenemos que comprobar si algo realmente funcionó. Eso es confianza para ti. Entonces guarde que todo se guarde y haga clic en play. Y ahora podemos movernos. Si saltamos, si
saltamos, ahora podemos subir y si dejamos caer a nuestro jugador, en realidad
cae por los goteo. Oh, bien, excelente. Algo que quiero hacer es que quiero hacer esto un poco más largo. Entonces eso es un poco más largo, así como así,
podemos incluso hacer que toquen el suelo, que se convierte en una especie de escalera. En realidad exactamente como una escalera. Así que vuelve atrás y comprueba esto. Haga clic en jugar. Veamos a nuestro jugador una acción. Toca las drapeadas y no puede. Ok, necesita un poco de empuje para saltar sobre esto. Eso se debe a que nuestro colisionador no está tocando los pies del jugador. Cambiemos eso. Entrémonos en inspector y hagamos el colisionador de cajas un poco más grande. Ah, oh, Talk Box Collider no fue con la escalada. Eso es desafortunado. Eso debe corregirse pero no se preocupe ahora mismo. Guardó eso. Haga clic en jugar. Y ahora deberíamos poder escalar. Oh, bien, gran trabajo. Vamos ahora paso final tendrá que añadir la animación de escalada siempre que estemos en las drapes o siempre que estemos escalando. Entonces para hacer eso, es súper sencillo. Ya tenemos la referencia para nuestro animador y ya tenemos un booleano para la escalada. Entonces como lo hicimos antes, te
daré otra oportunidad para completar esto porque es muy fácil. Pausa el video. No, quieres verme hacerlo bien, así que mi animador, así que mi animador dot set Bool. Cuando realmente estamos tocando, siempre
vamos a estar en la animación a escalada. Entonces vamos a seguir adelante y conseguir la referencia de cuerda. Copiar eso, volver a estudio visual basado. Y va a ser verdad. Y cuando estemos fuera de la condición if. Por lo que siempre que nuestro jugador ya no esté tocando las sábanas, en realidad puede seguir adelante y detener la animación, que significa volver a poner la escalada a esperar lo que pasó ahí y volver a poner la escalada a falso. Guarda eso. Ese fue un video largo. De acuerdo, entonces haga clic en jugar. Y ahora nuestro jugador se queda atascado a la cortina y entra en la animación de escalada. Y intentemos esto otra vez. Y en realidad se puede ver que se cuelga del goteo. Ahora, una cosa que arreglaremos sobre estos es cuando nuestro jugador realmente toque estas drapes, quiero que se quede pegado a ellas y no caiga cada vez. Eso lo haremos en el siguiente video porque éste se está haciendo demasiado largo y te veré en ese.
30. Mecla escalada de la escalada: De acuerdo, así que un par de cosas que tenemos que cambiar aquí. Lo primero que vamos a cambiar es que vamos a entrar a nuestros sprites y entrar a nuestro editor de sprites. Y si vas aquí a la esquina superior izquierda, puedes ver que en realidad podemos personalizar la forma física. Y esto es lo primero que vamos a hacer a nuestros viajes. Por lo que hacemos click en Generar y en realidad podemos cambiar el contorno de nuestro colisionador de cajas que vamos a agregar. ¿ Por qué estamos haciendo esto? Bueno, porque en realidad quiero que nuestro jugador solo sea capaz de
escalar si realmente está sosteniendo y tocando las drapeadas. Entonces hazlos justo dentro de esto dentro de las drapes. Te ayudará. Se chasqueará a colocar. Así que da click en cualquier sprite que quieras y da click en el botón generar
aquí mismo y acercarlos un poco más al centro. De esa manera se moverán y en realidad se sentirán más, un poco más realistas. Entonces no tanto. Entonces eso es ir adelante y mantener estos adentro. En realidad podemos incluso este a ella. No tienes que ser tan preciso. Pero si quieres ser así de preciso, Yukon y todo está bien, éste es bueno, éste es bueno, éste es bueno. Da click en Postúlate y estamos listos para continuar. Y ahora he cometido un error, una pequeña estaca anteriormente, y he añadido un colisionador de cajas. Entonces tendremos que quitar ese componente y en realidad agregar un colisionador de mapa de teselas a D Y asegurarnos de que sea utilizado por compuesto. Entonces comprueba eso. Y el compuesto debe ser es disparador. Está bien, genial, Guarda eso. Siguiente cosa que vamos a hacer, porque a través de ensayo y error, descubrí que realmente usar los pies para escalar no es buena idea. Entonces sigamos adelante y cambiémoslo en, no, en mi colisionador de cajas, y eso será mejor. Entonces todo debería estar bien excepto una cosa. Y si hacemos click en play y saltamos sobre nuestro drape, podemos ver que nuestro jugador poco a poco comienza a moverse hacia abajo un libre soltar la w o la tecla de flecha arriba. Y ahí es donde entra tu reto. Y tu reto es evitar que el jugador se deslice. Por lo que lo primero que debes hacer es establecer la gravedad en el cuerpo rígido del jugador. Y luego necesitas ajustar la gravedad a 0 mientras las drapes, mientras que el jugador está en las drapes. Por lo que esto necesitará un poco de investigación, sólo un poco de investigación. Y estoy seguro de que podrán terminar el reto. Así que pausa el video ahora mismo y sigue adelante y haz lo mejor que puedas. Ay, kay, bienvenido de nuevo. Entonces, empecemos. Empecemos como iniciando el video. Entonces si haces clic en jugador y miras el cuerpo rígido, puedes ver aquí que tenemos algo llamado la escala de gravedad. Y esto es si se cierne sobre él, es la cantidad de gravedad que afecta a este cuerpo. Y este es el componente que estará manipulando en nuestro código. ¿ Cómo vamos a hacer eso? Bueno, lo primero que vamos a venir aquí y crear una variable que es un flotador. esto lo llamaremos la escala de gravedad inicial. ¿ Y cuál será este valor? Bueno, va a ser la escala de gravedad inicial o la escala de gravedad con la que empecemos. Y va a ser la escala de cavidad original en mi cuerpo rígido. Por lo que teclearemos en la escala de gravedad de inicio. Es igual a mi Cuerpo Rígido 2D punto la escala de gravedad. Y esta será una por supuesto, pero queremos ser más precisos usando la escala de gravedad de mi cuerpo. Lo siguiente que vamos a hacer es cuando
realmente estemos sobre las drapeadas o tocando las drapeadas, queremos ajustar mi escala de gravedad de punto de cuerpo rígido a 0 F. Así que ahora siempre que nuestra jugada esté tocando la máscara de escalada o la capa de escalada, la escala de gravedad irá a 02 refiere que efecto la cambiará de nuevo a la escala de gravedad de la escala de gravedad inicial. Entonces si estamos tocando la capa de escalada, mi escala gravitatoria de cuerpos rígidos se va a convertir en 0 y de lo contrario cuando no estamos tocando la escalada, nuestra escala de gravedad se retrocederá también, la escala de gravedad inicial. Entonces guarden eso, vuelvan a Unidad. Espere a que entienda lo que está pasando, y vamos a dar click en jugar y ver qué pasa. Entonces ahora si subimos hacia arriba, nuestro jugador se queda en las drapeadas y no se desliza hacia abajo sin tocar el teclado. Una tarifa de chicas. Entonces espero que hayas disfrutado de este rápido video y te veré en el siguiente.
31. Cámara seguida de la película: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y como sugiere el título en este video, vamos a hacer que nuestra cámara siga a nuestro reproductor usando algo llamado máquina Cinna. Entonces como puedes ver ahora, si movemos a nuestro reproductor, la cámara no es estática. No se detiene y nos espera. Se mueve con nosotros. Y aunque subamos, se mueve con nosotros cuando estamos caminando, se mueve con nosotros y cuando saltamos, también va donde nuestro jugador meta. Entonces o como pueden ver, tenemos cámaras virtuales. Hemos agregado un cerebro a nuestras cámaras. Entonces ahora en realidad está pensando en las cosas. Y te veré en sólo un rato. De acuerdo, entonces, ¿cuáles son algunas máquinas y por qué las necesitamos? Como puedes ver en este momento, nuestro jugador simplemente se mueve en el entorno y la cámara no lo toma en cuenta en absoluto. Y lo que queremos es que la cámara
siga realmente a nuestro jugador a medida que se mueve por el nivel, porque estaremos sumando un nivel mucho más grande que pasará de aquí y dos aquí, tal vez arriba, quizás abajo. No lo sabemos, pero queremos que la cámara lo esté siguiendo. Ahora antes de las máquinas Cinna, todo lo que necesitabas hacer es realmente
necesitarías crear un guión y terminar eso es genial. Guión. Crear un campo serializado que obtuviera al jugador y usara su transformación para ir y seguirlo en cada paso del camino, cual fue muy engorroso. Pero ahora tenemos el poder de las máquinas de cine, ¿correcto? Entonces, empecemos importando máquinas. Y para poder hacer eso, hay
que entrar en ventana aquí arriba, aquí. Y necesitas entrar en Gestor de Paquetes, dar
click en Gestor de Paquetes, e ingresar a tu registro de Unity. Y deberías tener este cine cine, que se verifica aquí mismo. Y ahora lo que debes hacer es simplemente tener que dar click aquí en este botón de instalación. Puede descargar algo. Ya he descargado el paquete, así que simplemente se va a instalar. Oh, bien, genial. Bienvenido de nuevo. Entonces ahora como puedes ver aquí mismo en la parte superior de nuestra pantalla, tenemos algo llamado máquina pecadora. Ahora bien, ¿qué es una máquina de cine? Bueno, una máquina de cine es algo que nos permite crear cámaras virtuales. Todavía tenemos nuestra Cámara Principal. Y en esa cámara pusimos algo llamado cine cerebro. Y ese cerebro impulsa las otras cámaras virtuales que estaremos creando. Entonces, ¿por qué en realidad usamos estas cámaras virtuales? Bueno, en los juegos 3D, estas cámaras virtuales se utilizan para crear escenas de corte. Por ejemplo, cualquiera que sea el juego que juegues, cada vez que veas una escena, probablemente
sea porque usaban una máquina de cine o una, me refiero a una cámara virtual. Y en nuestro caso, para un juego 2D, lo
usaremos para hacer que nuestro juego sea un poco más dinámico. Entonces, primero que nada vamos a entrar en nuestra cámara principal y hacer clic en agregar componentes. Haga que el más pequeño haga clic en agregar componentes y simplemente escriba en un cerebro. Entonces ahora vamos a añadir un cerebro a nuestra cámara. Entonces cine cine cine cerebro, haga clic en eso. Y ahora tenemos la configuración del cerebro aquí mismo. Lo siguiente que vamos a hacer es entrar en nuestra jerarquía y crear un objeto de juego vacío. Y este objeto de juego vacío, lo restableceremos. Se. No importa. Pero sólo me gustaría reiniciar, Gracias a tenerlos todos en un solo lugar. Y cambiemos el nombre de esto a nuestras cámaras o simplemente tecleemos filas. De acuerdo, y esto es por el bien de las organizaciones. Organización. Entonces pongamos la cámara principal debajo de nuestras cámaras. Y ahora sigamos adelante y para enviar una máquina y crear una cámara virtual 2D. Entonces vamos a ver, tenemos esto crear cámara virtual, cobrar en eso. Y ahora tenemos algo llamado CM, el campamento. Y si miras a su derecha, puedes ver que tenemos algo llamado aquí, sigue. Ahora, he dejado un enlace en los recursos para todo lo que necesitas saber sobre las máquinas de cine. Puedes seguir adelante y leer todo el documento o simplemente
puedes echarle un vistazo y tener una sensación de lo que son las cosas. Entonces, por ejemplo, miran el seguir la posición mezclando son cosas muy importantes. Se puede mirar la lente. hay mucha, mucha, Aquíhay mucha, mucha,
mucha información útil sobre la que puedes leer todo si no la entiendes en este momento. Pero volvamos a Unidad y centrémonos en las cosas importantes y principales. Entonces tenemos este seguimiento y esta es la parte más importante. Entonces es el objeto con el que la cámara quiere moverse. Y ese objeto es por supuesto nuestro jugador. Así que simplemente haga clic en jugador y arrástralo al siguiente. Y ahora esta cámara debería estar siguiendo a nuestro jugador. Yo otra cosa, porque es algo importante y es muy dependiente de ti. Está debajo de las lentes, tienes algo llamado tamaño ortográfico. Y este es en realidad del tamaño de nuestras cámaras. Para que puedas hacerlo más grande y puedes hacerlo más pequeño, y depende de cómo quieras que se sienta tu juego. Entonces por ejemplo, nuestra cámara principal, podemos ver aquí que tenemos el tamaño, creo que es 5.02. Y para nuestra cámara virtual también será 5.0.2. Hagámoslo cinco ergo tasa. Entonces ahora sigamos adelante y renombremos el nombre de nuestra CMV Cam, que es un nombre muy raro. Simplemente llamémoslo cámara virtual VR. Y lo pondremos debajo de las cámaras. Entonces ahora tenemos cámaras debajo de un solo objeto aquí mismo, y es mucha mantequilla. Entonces guarde eso. Demos click en jugar y veamos qué sucede realmente. Entonces ahora como puedes ver, mientras te
mueves, muévete en nuestro mundo, la cámara sigue a nuestro jugador. Entonces ahora es mucho más dinámico y se siente. Al igual que un verdadero juego 2D. Entonces salgamos de eso y hablemos de un par de cosas sobre las cámaras virtuales. Ahora. Si vas aquí, si todavía te hacen clic en la cámara virtual y miras en el inspector, puedes ver aquí mismo que tenemos algo en el cuerpo que es una transposición. Entonces sigamos adelante y cambiemos eso y asegurémonos de que lo tengas bajo encuadre transpose. Y conseguirás todas estas diferentes opciones raras aquí mismo que discutiremos. Pero antes de que hagamos eso, sube un poco y encontrarás que tienes otra opción aquí mismo que se llama guías de ventana de juego. Si haces click en eso, puedes entrar a un juego y puedes ver que tenemos diferentes ventanas. Y cada una de esas ventanas tiene un efecto diferente en nuestra cámara virtual y cómo utiliza el entorno o cómo sigue nuestro juego. Entonces empecemos las cosas y expliquemos un par de éstas. Hay muchas opciones que no las cubriremos todas. Siéntete libre de entrar en la documentación y leer sobre ellas si
quieres ser meticuloso con lo primero que tenemos es el look futuro tiempo. Entonces Vamos a hacer clic en jugar e iniciar el juego y empezar a retocar desde él. Entonces si elegimos una mirada por delante en el tiempo, puedes pasar el rato sobre él. No dice nada, pero te diré lo que hace. Lo primero que
hace, en realidad determina a dónde va a ir el jugador. Entonces ahora se puede ver que este punto amarillo, en realidad ese punto amarillo representa donde nuestra cámara está mirando al momento. Por lo que tenemos ambos en 0. Se puede ver que r dot se mueve con el jugador, sin embargo va. Pero si agregamos alguna mirada adelante tiempo y suavizamos eso, el punto amarillo precederá al jugador. Y calculará o determinará a dónde podría ir
el jugador siguiente y suavizará la transición de la cámara. Lo siguiente que tenemos es que tendremos algo llamado zona muerta. Y esta zona, si aumentamos el tamaño apenas un poco, podemos ver que tendremos una zona dentro de nuestras guías o guías de ventanas. Y si nos movemos dentro de esta zona muerta, la cámara no se moverá. Sólo seguirá al jugador si sale la zona y está determinado por este botón amarillo o punto amarillo. Entonces ahora, vamos aquí. Por ejemplo, si nos movemos dentro de nuestra zona muerta, no
registramos o la cámara no se mueve con nuestro jugador. ¿ De qué más deberíamos hablar? Entonces creo que vamos a sumar un poco de esa zona justo aquí lo hará 0.20.2. Ah, está bien. ¿ Qué más debemos oh, discúlpame. Entonces 0.2 por 0.2, por favor empieza a quién y qué más deberíamos estar mirando? Tenemos algo llamado la amortiguación. Y sigamos adelante y aumentemos. La mejor manera de averiguar qué hacen todos estos es simplemente aumentándolos y probando el juego. Por lo que ahora amortiguando, se puede ver que lentamente va a donde está el jugador. No salta inmediatamente a donde está y lo pone a 0. Se puede ver que la cámara se vuelve muy rápida y
en realidad tiene su propia sensación al juego. Y todos estos se pueden ajustar a tu preferencia. También se pueden hacer un muy extremo, se
pueden hacer a 0. Depende de tu preferencia, de cómo quieras hacer tu campo de juego. Y siempre recuerda cada vez que cambies las cosas aquí dentro, necesitas recordarlas. Acuérdelos porque cuando vuelvas a hacer clic en play o salgas del modo play, todo se restablecerá. Y ahora es el momento de tu reto. Y tu reto va a ser montar tu campamento de seguimiento. Entonces, antes que nada, necesitas sintonizar tu, las cámaras virtuales a tu propia preferencia en función de cómo quieres que tu juego se alimente. Y lo harás usando el tamaño de la cámara,
usando el tamaño de la zona muerta y usando el look adelante. Para que puedas pausar el video, o simplemente es el final del video. Espera a que termine y sigue adelante y configura las cámaras virtuales a tu propia preferencia porque es tu juego. No es mi juego. Yo lo hago como yo quiero y quiero que lo hagas con la forma en que quieres que sea. Entonces voy a retocar un poco y te veré en un rato. De acuerdo, así que solo haré algunos cambios aquí mismo. No va a ser mucho salida las zonas muertas a 0.2 en el ancho y la altura. Y pensaré, agregaré solo un poco de mirada adelante con un poco de lookaheads moviéndose y la amortiguación. Creo que lo mantendré igual. Y si hacemos click en jugar ahora mismo, veamos cómo se siente eso. Si caminamos, apaguemos las guías de ventanas. Entonces si apagamos las guías de ventanas, para que conforme nos movemos, nuestra cámara se movió estaba con nosotros. A lo mejor voy a añadir un poco más de suavizado, así que hazlo tres. Y realmente se siente muy suavemente. Haz esto un poco más 0.02 y genial, creo que esto es suave y lo suficientemente fresco. Entonces espero que retoques tus propias cámaras virtuales a tu preferencia, y te veré en la siguiente.
32. Extensión confiner Confiner con cinematografía: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y este, como pueden ver, hemos hecho un nivel más grande, que necesita un poco más de ajuste, pero funcionará por ahora. Y lo que hemos hecho es ahora si movemos nuestra cámara, como puedes ver, se mueve libremente sin jugador. Pero si vamos al borde, se
puede ver que ya no se mueve más allá de este borde. Eso significa que hemos creado un mundo confinado. ¿ Y por qué hicimos eso? Bueno, le dará a nuestro juego una sensación de inmersión. Y cada vez que nuestro jugador sube, ya no
ve nada más allá del reino de nuestro combinador mundial. Entonces, no perdamos más tiempo y saltemos y empecemos. De acuerdo, entonces el problema aquí mismo, ahora mismo es que cada vez que
jugamos, en realidad podemos ver lo que está pasando detrás de las escenas. Entonces esto saca al emergente de nuestro juego y hace que nuestro juego en realidad no se sienta real y sienta que ha funcionado, lo es, pero no queremos que el jugador sepa eso. Entonces tenemos que cambiar lo que está pasando. Lo que vamos a hacer es que vamos a crear un confinado alrededor de nuestro nivel. Y esto confinado o no dejará que nuestra cámara se mueva más allá de ella. Entonces hagámoslo. Si vas a nuestro inspector y te desplazas hacia abajo, puedes ver aquí mismo que tenemos algo llamado extensiones. Sigamos adelante y agreguemos una extensión. Entonces haga clic en eso. Y se puede ver que tenemos muchas opciones. Pero lo que vamos a estar necesitando es este estafador de máquina de cine, más fino. Haga clic en eso. Y debajo de ella se puede ver ahora que tenemos un nuevo componente que es máquina Santa confirman más fino. Y necesita una forma delimitadora. Eso es a d. Genial. Lo que vamos a hacer es que vamos a estar creando un mapa de teselas. Y ese mapa de azulejo será nuestro combinador mundial. Y evitará que nuestra cámara se mueva más allá de eso. Demos click en Mapa de archivos. Haga clic derecho en eso. Y vamos a crear un objeto 2D que es un mapa de teselas, cambiará su nombre a mundo confinado. Y ahora tenemos una nueva configuración de mapa de azulejos. Si entramos en nuestro piloto de azulejos, deberíamos tener nuestra final de WorldCom. Y puedes elegir tener tu pila que represente la palabra confinamiento o lo que sea. Pero elegiré tenerlo como esta manzana central aquí mismo. Entonces sigamos adelante y creemos nuestro mundo confinado ahí, justo por aquí. De acuerdo, y ahora lo tenemos configurado, pero aún así, esto no funciona correctamente, correctamente. Y eso es porque aún no hemos agregado los límites para ello. Entonces lo que voy a hacer ahora mismo es que
voy a hacer nuestro nivel un poco más grande. Y con el fin de ver cómo funciona realmente esta cámara, y voy a hacer de este un video rápido usando la magia de la edición de video. Entonces nos vemos en solo un poco. De acuerdo, bienvenido de nuevo. Entonces como puedes ver aquí, he creado una plataforma. He aumentado el tamaño aquí mismo. He añadido una escalera con el fin de llegar a la cima y algún tipo de habitación rara aquí mismo. No estoy seguro de lo que hace. Y eso es básicamente todo. Y lo que yo sólo quería lograr aquí es sólo hacer nuestro nivel más grande para moverlo. Entonces ahora sigamos adelante de nuevo en nuestro azulejo y elijamos WorldCom más fino y creamos el confinamiento alrededor de nuestro mundo. Entonces sigamos adelante y hagamos eso. Que sea así de grande. Y sigamos adelante y lo hagamos así de grande aquí también. Entonces esto depende de cómo lo quieras. No tienes que hacerlo exactamente de la manera que lo estoy haciendo. Sigues adelante y creas tu propia plataforma y haces tu propio mundo confinado. Pero en lo que hay que mantenernos enfocados es que necesitamos esto aquí mismo. Como puedes ver, esta es la cámara que
tenemos y necesitas asegurarte de que esta cámara realmente encaje. Entonces nunca creas, por ejemplo, algo que sea muy pequeño, como aquí. Y entonces esto no permite que nuestra cámara quepa entre esos dos spots. Así que asegúrate de tener eso en cuenta. Entonces vamos a controlar z dos veces con el fin de revertir estos cambios. Entonces lo siguiente que vamos a hacer es añadir un colisionador de polígonos a nuestro mundo confinado. Entonces sigamos adelante y hagamos eso. ¿ Y por qué estamos haciendo eso? Bueno, porque si miras de cerca nuestra cámara virtual visual aquí abajo, puedes ver que necesita un colisionador a D que le diga cómo será confinada. Y un colisionador de polígonos es la forma perfecta de hacerlo. Entonces como puedes ver, es muy grande y va a cambiar eso muy rápidamente. Haga clic aquí en editar. Y sigamos adelante y sumémoslo a nuestro confinado. Ahora esto no tiene por qué ser perfecto. Solo necesitas asegurarte de que las líneas verdes estén dentro de tus fichas combiner mundo. Entonces sigamos adelante y que sea así de grande. Y elegimos un colisionador de polígonos porque es muy fácil de manipular. Entonces hazlo así de grande, y luego mantén el control para eliminar eso. Y ahora tenemos. Una plaza. Bueno, es un polígono, pero es un cuadrado. Y asegúrate de que la línea verde o dentro de esto, estos azulejos, o lo que sea que hayas elegido para hacer el combinador mundial N. Y creo que es genial y está funcionando bien. Entonces guarde eso. Y ahora sigamos adelante y sumamos este mundo la confinó a nuestra cámara virtual. Así que haga clic en cámara virtual, cámara otra vez, baje
a las extensiones y simplemente mantenga pulsado ops, mantenga pulsado el confinamiento mundial o espere a volver hacia abajo y mantenga presionado el mundo confinado y arrástralo hacia el 2D en forma de delimitador. Como puedes ver ahora tenemos esta forma delimitadora. Entonces juguemos esto y veamos una cosa que está mal. Entonces ahora hacemos clic en jugar, y como puedes ver, nuestros jugadores simplemente desaparecieron en lo antinatural lo que se llama abajo ahí. ¿ Y por qué es eso? Bueno, si hacemos clic en jugador y lo llevamos a este spot, por ejemplo, y hacemos clic en jugar de nuevo. Todavía desaparece en un maduro incluso donde está eso. ¿ Y por qué es eso? Bueno, porque nuestro jugador está
confundido, no está seguro de dónde debería estar ni con
qué debería estar interactuando porque nuestro mundo confinando en
este momento tiene un colisionador de polígonos y no sabe si debería pararse en este polígono o deberían flotar en este polígono, no
entiende lo que está pasando. Y el problema con eso es que si entramos en la configuración de nuestro proyecto, eso es cerrar eso y entrar en nuestra física 2D y expandido. Si miramos aquí abajo, podemos ver esta matriz y cuál es esta matriz. Es, si lo lees, es decir matriz de colisión de capas. Entonces nos dice qué capas interactúan y chocan entre sí. Entonces, por ejemplo, tienes escalada que interactúa con cada capa que es. Y por ejemplo, el default también interactúa con cada una de las capas que es una disponible. Y si miramos a nuestro jugador, así que vuelve a Specter. En primer lugar, nuestro confinamiento mundial está en la capa predeterminada, y nuestro jugador está en la capa predeterminada. Eso hace que ambos interactúen debido a esta matriz. Y para apagar eso, simplemente
puedes hacer clic en este botón y se detendrá la interacción entre esos dos colisionadores. Y aquí es donde te llevo a tu reto. Y tu reto va a ser crear una cámara confinada R. Así que lo primero que tenemos que hacer si no lo has hecho ya es
crear un nivel más grande para que tu jugador y cámara se muden. Segunda cosa que debes hacer es agregar una colisión al colisionador mundial confinado, me refiero a mapa de teselas. Y luego necesitas crear una capa de jugador y una capa más fina de WorldCom. Y por último pero no menos importante, tendrás que ajustar la matriz de capas de física para jugador y 40 combiner. Así que pausa el video ahora mismo. Ya sabes cómo crear estas capas. Me has visto crear el nivel más grande y en la colisión. Entonces lo único con lo que no estás muy familiarizado, R como la matriz métrica de capas, pero estoy seguro que harás excelente trabajo. Así que pausa el video ahora mismo y sigue adelante y haz ese reto. Oh, ok, bienvenido de nuevo. Entonces vamos a hacer esto. Entonces lo primero que tendremos que hacer es hacer click en el jugador e ir al inspector. Y vamos a elegir esta capa y vamos a añadir una capa. Entonces crearemos nuestra capa de capas, y crearemos nuestra capa confinada mundial. Un otro paso extra que haremos es crear una capa de clasificación para el WorldCom más fino. No tenemos que hacer esto, pero por si acaso lo vamos a mantener detrás fondo porque ahí es donde queremos que se renderice. Así que guarde eso, vuelva a jugador y haga de este jugador en la capa de jugador y aplíquelo al
prefabricado, vuelva al combinador mundial. Y sigamos adelante y hagamos de ella una capa de confinamiento mundial e ingresemos al renderizador de mapa de teselas y asegurémonos de que sea capa de clasificación. ¿ Está confinado el mundo y guarde eso. Y ahora sigamos adelante a la Configuración del proyecto, desplázate hacia abajo en la matriz y como puedes ver, las capas que hemos creado, ya están disponibleslas capas que hemos creado,
el confinamiento mundial y el jugador. Entonces lo que estaremos haciendo es estar girando de todo lo que el mundo pueda más fino, interactuar con. Entonces ahora el encierro mundial no toca nada, no afecta nada. Simplemente confina nuestra cámara en un espacio determinado. Entonces ahora si guardamos eso, volvamos a nuestro jugador y lo movemos hasta el borde. Como se puede ver incluso en nuestra escena, nuestra cámara se mueve libremente. Pero cada vez que llegamos al borde, se
puede ver que ya no se mueve. Entonces probemos nuestras nuevas cámaras. Haga clic en jugar. Y ahora nos movemos. Como puedes ver, la cámara ya no va detrás de escena, y ahora podemos saltar y bien, apenas
cortamos eso. Y ahora como pueden ver, ya no
vemos lo que está pasando detrás bambalinas y podemos llegar a ese filo lamentablemente. Pero como puedes ver, hemos creado un confinamiento y hecho que todo sea mucho más realista. Entonces, ¿por qué siquiera queremos que esto sea un juego de una hora? Bueno, esto es realmente genial. En primer lugar, segunda cosa, Se siente como un mundo real y le da una sensación de inmersión a quien esté jugando nuestro juego. Y entiende que hay límites y límites para nuestro mundo. Además no ve lo que pasa detrás de escena. Consíguelo detrás de escena. Está bien. Necesito dejar de hacer esos chistes y nos vemos en el siguiente video.
33. Cunas impulsadas las cámaras accionadas: Bienvenidos de nuevo a todos a un video totalmente nuevo. Como pueden ver, tenemos algo diferente aquí en nuestra jerarquía, donde hemos creado una cámara impulsada por el estado. Y hemos agregado un montón de cosas aquí mismo que estarán explicando y minucioso detalle. Pero, pero como puedes ver ahora cuando estamos en ralentí, la cámara se acercó y cuando empezamos a correr, la cámara se aleja. Y cuando saltamos sobre las sábanas colgantes, podemos ver que la cámara vuelve a acercar. Podemos saltar, podemos movernos, y la cámara se acerca y se apaga. Y nuestro jugador siente que sabemos cada vez que está corriendo y caminando, y eso les da seguridad y hace que nuestro juego sea mucho más profesional. Entonces te veré en un rato. De acuerdo, así que sigamos adelante y creemos una cámara impulsada por estado o animación. Por lo que estaré usando la palabra estado y animaciones indistintamente. Significan lo mismo en el contexto. Entonces ve a máquina de Santa y busca cámaras impulsadas por el estado. Haga click en eso y esto creará una cámara CM impulsada por estado. Y cambiaremos ese nombre por cámara impulsada por el
estado porque no queremos que todo se mezcle juntos. Y como pueden ver, tenemos una cámara virtual. Entonces sigamos adelante y en primer lugar, niña, nuestra cámara virtual que se utiliza bajo el escenario dado cámaras. Y ahora, si te desplazas hacia abajo y declaras diferentes cámaras en el inspector, puedes ver que tenemos niños de cámara virtual. Y eso significa que cada vez que queremos agregarnos cámaras virtuales, a nuestra cámara impulsada por el estado, necesitamos hacerlas infantiles. Entonces, ¿qué hacen estas cámaras virtuales bajo cámaras impulsadas por el estado? Bueno, se utilizan para cada estado o animación que tenemos. Entonces sigamos adelante y eliminemos la que ya estaba presente. Entonces borra la cámara CM y mantén la cámara virtual que teníamos y cámbiala a
cámara virtual funcionando y duplique eso y crea una cámara virtual inactiva. Por lo que ahora tenemos bajo impulsada por el estado, una cámara virtual en funcionamiento y una cámara virtual en ralentí. Y otra cosa que debemos tomar en consideración es que
tendremos que sumar al jugador como nuestros objetivos animados. Entonces como puedes ver aquí, tenemos algo llamado Objetivo Animado. Y arrastremos al jugador a eso. Y ahora tenemos al jugador como el que presenta todas nuestras animaciones y eso es lo que necesitamos. Lo siguiente que haremos es para diferenciar entre correr y ralentí, vamos a cambiar la escala ortográfica de cada cámara. Entonces aquí es donde se trata de tu preferencia. Entonces, por ejemplo, si quieres, el jugador que sea, así que digamos acercar la cámara siempre que esté en ralentí y alejar cada vez que esté corriendo, necesitas entrar en la cámara virtual, ir a tierras. Y aumentar este tamaño ortográfico a, digamos seis. Hagamos este 16. Y la cámara virtual para ralentí será de cuatro. Y como saben, esto se basa puramente en su preferencia. Puedes hacerlos más grandes o más pequeños dependiendo de ti, pero solo estoy haciendo números de ejemplo por el bien del ejemplo. Ok. Entonces lo siguiente que vamos a hacer es que vamos a demostrar lo que está pasando. Entonces ahora nuestro jugador está, por ejemplo, en esta escena y se mueve pero aún no pasa nada. Fue así de bien porque nos olvidamos de crear estos estados. Entonces ahora sigamos adelante y sumamos un estado. Y lo que esto hace es que crea un nuevo estado. Y ese estado se llama ralentí. Y la cámara para ello es la cámara virtual de ralentí, creará otro estado. Y esto será para el estado en ejecución, y estará usando la cámara virtual para correr. Y ahora si guardamos eso y si hacemos click en play, y veamos qué pasa. Entonces, como puedes ver, es un poco más acercado. Y cuando empezamos a correr, podemos ver que la cámara se apaga. Cuando iniciamos la carrera, volvemos a acercar. Pero como puedes ver, es un poco demasiado rápido. Se apaga y luego vuelve a entrar, si te gusta ese tipo de zoom, es genial. No hay necesidad de cambiarlo, pero en realidad podemos hacerle modificaciones. Y la forma en que hacemos eso es que tenemos muchas, muchas opciones. Entonces lo primero que tenemos el peso y esto realmente esperar para volver atrás, por ejemplo, a cualquiera de los enlaces. Entonces hagamos esto, por ejemplo, 1 segundo. Y ahora si corremos y dejamos de correr a la espera, 1 segundo y luego se acerca a otra opción que podemos cambiar este mínimo lo que va a ralentizar el no estoy seguro de qué hace exactamente, pero sí, hagámoslo cinco por ejemplo y veamos qué sucede. Entonces ahora nos
movemos, corremos, y luego volvemos arriba y abajo. Entonces toma cinco segundos, creo, alejar el zoom, y luego tarda 1 segundo en hacer zoom y está bien, así que ahora sabemos qué mínimo es. Es el tiempo mínimo para esperar antes de entrar al siguiente estado de cámara virtual. Pero volver a 0. ¿ Qué más podemos cambiar año? Bueno, tenemos el valor predeterminado de la tierra, que determina la cantidad de tiempo que tarda
para hacer realmente la animación o el acercamiento y alejamiento. Y en realidad podemos elegir lo que queremos cambiar. Entonces, por ejemplo, podemos cambiar la facilidad de entrada o de salida. Y hagamos esto por ejemplo, a segundos. Entonces ahora cuando empezamos a caminar, se necesitan dos segundos para alejarnos y nos detenemos, esperemos 1 segundo y luego nos lleva 2 segundos para hacer zoom. Y salgamos del modo play. Y como cosa final de la que quiero contarles es que en realidad puedes crear tus propias plantas personalizadas. Entonces haga clic en Crear mezclas personalizadas. Y lo agregaremos dentro de la animación. Y se llamará cámara impulsada por el estado y guarde eso. Y tendrás algún tipo de flecha rara aquí mismo. No te preocupes por ello. Si simplemente aclaraste eso, se va. Y cada error que simplemente puedes aclarar y no rompe el juego no es tan malo. De acuerdo, entonces lo siguiente que vamos a hacer es entrar en planes
personalizados y aquí tenemos la licuadora, así que simplemente arrastramos eso y para enviar una máquina y ahora podemos crear nuestras tierras personalizadas. Entonces sigamos adelante y hagamos eso. El primer terreno que vamos a crear será de ralentí y a correr. Y será una facilidad de entrada y salida. Y el tiempo que tomará hacer eso será, creo que debe ser muy rápido. Entonces voy a hacer esto 0.5 segundos. Y digamos que la segunda mezcla será de correr a ralentí. Y creo que la facilidad y la salida debería tomar, creo que no debería tomar más de 1.5. Entonces esto será una especie de, así que veamos cómo funciona eso. Si hacemos click en jugar. Ahora nos movemos, nos movemos directamente a la carrera. La cámara se apaga de inmediato. Si nos detenemos, se acerca y toma 1.5 segundos. Entonces, ¿qué más debemos hacer? Bueno, también deberíamos agregar una cámara virtual a la escalada, pero ese será tu reto. Y tu reto será agregar una cámara estatal escalada. Por lo que necesitas crear una cámara estatal para escalar. Y necesitarás hacer la mezcla entre otras cámaras y cámaras escalada
gruesas a tu propio ritmo de ganancia. Así que adelante y haz un reto, y estaré aquí esperándote. Oh, Ok, bienvenido de nuevo. Entonces, ¿qué vamos a hacer? Entonces lo que vamos a hacer es que vamos a duplicar el ralentí y
vamos a llamar a este forro de cámara virtual. Entonces, ¿qué deben hacer las cámaras de escalada? Bueno, creo que hay dos maneras de hacerlo. Creo que cada vez que estamos escalando, deberíamos acercar. Entonces el jugador tiene sentido porque el jugador, cuando está escalando, no puede ver muy lejos porque está enfocado en subir la sábana. De acuerdo, eso no es muy lógico, pero esa es la lógica de mi ganancia. Entonces lo haré un poco más pequeño y lo haré un 2.5. Está bien. 2.5. tal vez es demasiado pequeño. Hagámoslo. ¿Cuánto se pone al ralentí? 43. De acuerdo, creo que tres es lo suficientemente bueno. Ahora volvemos atrás y cámaras impulsadas por el estado y sigamos adelante y sumamos algo de aterrizaje. Por lo que aquí elegiré pasar de cualquier cámara a escalar. Tomará dos segundos. Creo que dos segundos es bueno o 1.5 en cuanto a 1.5. Y de la escalada a cualquier cámara, creo que deberían tomar dos, tal vez 2.5. porque
pensémoslo porque cada vez que deja de subir, llega a eso. Está cansado. Sigue mirando el suelo y luego mueve la cabeza hacia arriba y lo ve todo. Está bien, genial. Excelente. Entonces guarde eso. Sé que no es muy lógico, pero solo colgado ahí conmigo. Y puedes crear tu propia lógica de juego por cierto, y no tienes que seguir la mía. Por lo que ahora corre la cámara, se apaga. Cuando deja de correr, la cámara hace zoom hacia atrás y si salta y sostén
la escalera o me refiero a la sábana para colgar. Bueno, no vi mucho cambio en ese y o porque no lo hemos agregado al estado. Entonces sigamos adelante y sumamos un estado o nuevo, subiendo y subiendo la escalera. Eso lo guardó de nuevo. Y ahora vamos a demostrar. No olvides agregar los estados o ahora corremos, acercamos, saltamos y se acerca. Y cuando llega a la cima, vuelve a alejarse muy rápido. Y no me gusta ese efecto. Necesita un poco más de cambio, pero no preocuparse por ello. Eso lo averiguaremos más adelante cuando ajustemos nuestro juego. Espero que haya disfrutado el video. Ojalá te divirtieras en esta sección. Y como última cosa que haremos es que vamos a comprometer nuestro cambio. Como ves, lo he estado cometiendo todo el tiempo. Espero que tú también lo estés. Por lo que crearemos estados impulsados animados con un signo de exclamación porque hemos terminado la sección. Has sido increíble. Yo quiero felicitarte y quiero que te tomes un segundo para apreciar todo el arduo trabajo que has estado haciendo hasta ahora. Entonces, date un alto cinco y te veré en el siguiente video.
34. Sección 5: agrega los Enemies y los bombas, con los masías y los bombas, hecho Enemies: Bienvenidos de nuevo a todos a un video completamente nuevo y a unas secciones completamente nuevas. Entonces este será un video un poco más largo, pero valdrá la pena, porque finalmente estamos agregando algunos enemigos a R c. Así que como puedes ver aquí, nuestro enemigo, cada vez que presionamos en el juego, Entra a escena. Nuestro enemigo camina. Y no sólo hace eso, en realidad
se voltea cada vez que llega a una pared. Como lo puedes ver, tiene una pequeña corona en la cabeza y
sigue rebotando y rebotando y rebotando izquierda y derecha. Ahora, todavía podemos seguir sin tener la capacidad de salir lastimados por ellos, pero vamos a añadir eso muy pronto. Yo quiero dos cosas de ti. En primer lugar, quiero mucha concentración. Y lo segundo que necesito son sus pacientes. Entonces sigamos adelante y oscurecemos. De acuerdo, así que agregando enemigos. Por último, lo primero que vamos a hacer es
entrar en los recursos e importar al enemigo. Sprites creará una carpeta. Llamaremos a esta carpeta el enemigo. Y agregaremos estas proteínas a la carpeta enemiga. Ahora lo que vamos a hacer es que vamos a rebanar esto. Vamos a hacer una animación con ellos y vamos a
crear un nuevo objeto de juego que se llama enemigo con sprite,
un renderizador sprite, un cuerpo rígido,
un colisionador, y todo lo demás. Por lo que hemos hecho todos esos pasos con jugador. Entonces si sientes que tienes la confianza y por supuesto el coraje, sigamos adelante y hagamos una pequeña carrera. Estaré haciendo todo y estaré hablando de ello para que lo puedas hacer
conmigo al mismo tiempo y ya veremos quién lo puede hacer primero, 0, K. Empecemos. Entonces lo primero que vamos a hacer es que vamos a
entrar en el sprite hará los píxeles por unidad. Vamos a seguir adelante y hacerlos 30. Haremos múltiples estos modos privados, y vamos a aplicar eso. Entraremos a Sprite Editor y veremos que tenemos 123456. Adelante y consigamos nuestra calculadora de confianza. Por lo que tenemos 228 divididos por seis. Eso hace 3838. Vamos a seguir adelante y rebanarlo. Ya es 38 por 28. Haga clic en las diapositivas y son perfectas. Aplica eso, retrocede. Y ahora tenemos nuestro sprite rebanado. Vamos a seguir adelante y crear un objeto de juego vacío. Lo restableceremos a su lugar original. Pongámoslo aquí en la plataforma, y sigamos adelante y renombrarlo a enemigo. Ahora tenemos un objeto de juego enemigo. Peso. No cambiaba el nombre de enemigo. Por favor, entra, y ahora es un enemigo. Sigamos adelante y agreguemos un renderizador sprite a nuestro enemigo y escogeremos un sprite predeterminado para ello. Y ahora todavía no lo podemos ver porque necesitamos crear algunas capas. Entonces vamos a añadir una capa de clasificación a nuestro enemigo. Llamaremos a esta capa de clasificación enemigo. Y lo pondremos entre la escalada y el jugador. Por lo que se va a renderizar y se inunda frente al fondo, pero detrás del jugador y el primer plano. Está bien, eso está hecho. Y ahora vuelve al enemigo, haz la capa de clasificación de este producto como enemigo. Y ahí tienes. Tenemos a nuestro enemigo presente en la escena. Hagámoslo un poco más grande. Yo quiero hacer pensar 22. Hagámoslo 22. Está bien. Ahora es más grande y se ve un poco mejor, más grande que el jugador. Excelente. La próxima vez que vamos a hacer es añadir un cuerpo rígido. Por lo que Cuerpo rígido componente 2D lo hará cinemático. Y vamos a añadir un colisionador a nuestro enemigo. Por lo que elegiré un colisionador de cápsulas también
liberará la rotación en el Zed para el cuerpo rígido. Cierra eso. No creo que tengamos que hacer eso. Yo sólo lo haré por el bien de hacerlo, por si acaso. Entonces sigamos adelante y editamos el colisionador lo hará pequeño. No necesitamos hacerlo a lo grande. Y este es el colisionador que determinará cuándo atropellan a nuestro jugador. Entonces lo haré pequeño, lo pequeño
posible sin dejar de hacerlo justo. Entonces creo que casi sí grande es lo suficientemente bueno. Así que así como eso. Oh, bien, genial. No quieres agregar un gran hit box a tu enemigo porque eso haría que el juego fuera un poco injusto. De acuerdo, ahora estamos bien para irnos. De acuerdo, tan casual nube, ¿qué más necesitamos? Bueno, necesitamos un animador sobre el enemigo Gn, y necesitamos crear una animación. Entonces hagámoslo. Seleccione los sprites, haga clic derecho y cree la animación en ejecución. Entonces corriendo. Y sigamos adelante y llevémoslo a la carpeta de animación. Pero lo primero que tenemos que hacer es entrar en animación y crear una carpeta. Llamaremos a este jugador para que empiece a organizar todo para que no tengamos múltiples carreras. Y luego crearemos una carpeta y la llamaremos enemigo. Me encanta crear carpetas. Realmente nos da un campo muy organizado a nuestro juego y a nuestra jerarquía. Ahora dentro del enemigo, dentro de la animación, vamos a crear un controlador de animador y nombrarlo enemigo. Después volveremos a los sprites y conseguiremos nuestra animación, pondremos dentro de carpeta enemiga, y la añadiremos al animador aquí en nuestro panel. De acuerdo, un paso más. Tenemos que añadir el animador al Animador y nuestro inspector para el enemigo salvó eso. ¿ Qué más necesitamos? Bueno, lo tenemos todo, así que sigamos adelante y demos la demostración. A ver qué pasa si eso funcionó. Afrontar la vista de escena y nuestro enemigo no está haciendo nada. ¿ Por qué es eso? Bueno, creo que porque no está dando vueltas. Guarda eso, vuelve al modo de juego. Busca escena, y ahora nuestro enemigo corre. A muy, muy, muy cool. Está bien, genial. Ahora lo que tendremos que hacer es añadir comportamiento a este enemigo y hacerlo ir, al
menos ahora mismo al lado izquierdo de nuestra pantalla. Entonces crearemos un guión para el enemigo, y llamaremos a esto simplemente enemigo. Así que enter mean create a new script era el nombre del enemigo, crear y agregar peso para Visual Studio. ¿ Por qué se abrió? De acuerdo, ahora tenemos el guión enemigo volver a los activos y poner al enemigo dentro de faldas para que no lo perdamos. De acuerdo, gracias. Visual Studio. Por qué sigues abriéndote de nuevo a los guiones ahora, haz doble clic en enemigo, y ahora tenemos un guión completamente nuevo para enemigo. Sí. Entonces, ¿qué queremos hacer? Bueno, queremos hacer que nuestro enemigo se mueva, al
menos por ahora a la izquierda. ¿Por qué es eso? ¿ Por qué está la izquierda? Bueno, porque descrito por defecto está mirando hacia la izquierda. Entonces sigamos adelante y hagamos eso. Lo primero que necesitaremos para hacer que nuestro enemigo se mueva hacia la izquierda es crear una referencia de cuerpo rígido. Entonces crearemos un cuerpo rígido a la variable, que llamaremos cuerpo rígido enemigo. Y conseguiremos el componente aquí mismo en el arranque. Entonces cualquier cuerpo rígido igual a o, lo que es menos cuatro iguales obtienen componente. Y es un tipo de Cuerpo Rígido 2D. A continuación tendremos que hacer, una actualización hará que nuestro cuerpo rígido enemigo se corra hacia la izquierda. Eso significa que vamos a escribir enemigo cuerpo rígido velocidad de punto igual a nuevo vector dos. ¿ Y qué debemos escribir dentro del vector dos? Bueno, queremos que se mueva a la izquierda, en el plano horizontal en dirección izquierda. Entonces sólo estará agregando algo al flotador x nought a la y. y como estamos agregando algo a la X y es diferente por ejemplo, clase de
flujo, adelante y esterilizarlo. Entonces haz un campo serializado. Será un flotador y llamaremos a la, esta velocidad de carrera enemiga. Y sigamos adelante y hagámoslo. No sé, tal vez cinco F Podemos cambiarlo cuando quieras por ahora, hagámoslo cinco F, y sumémoslo a la velocidad enemiga Ron. Pero una cosa, y en la dirección y, va a ser 0. Y pero una cosa que hay que tener en cuenta es que porque vamos a la izquierda, eso significa que la velocidad debe ser negativa. Entonces pondremos un menos justo detrás de la carrera enemiga. Guarde eso. Volvamos a Unity y veamos si eso funcionó. Entonces guarde eso, guarde todo. Haga clic en jugar. Y asegurémonos de que vimos y ahora nuestro enemigo
corre y corre y sigue corriendo detrás del primer plano. Y él, ¿A dónde vas? Oh, espera, espera, espera. Está bien. Entonces al menos está funcionando. Ahora lo que tenemos que hacer es hacer voltear a nuestro enemigo cada vez que llegue al borde de la plataforma. De esa manera va de vuelta y vuelta de un lado a otro. Por lo que correrá hasta el Edge, Hill, volteará ese borde y correrá de nuevo a la pared. Y cada vez que llega a la pared, necesita voltear de nuevo. Y eso es parte de tu reto, o tu reto es hacer voltear al enemigo. Ahora bien, este no es un reto fácil porque cuando el enemigo llega al final de una plataforma, tenemos que hacerles dar la vuelta e ir a la otra dirección. Entonces te daré un par de pistas. En primer lugar, hay que voltear horizontalmente como lo hicimos en jugador. Tendrás que usar un colisionador para determinar cuándo voltear. Por lo que necesitarás añadir otro colisionador al enemigo. Y ese colisionador sabrá cada vez que lleguemos a una pared o enriquecemos el extremo de una plataforma, necesitarás, bueno, ese es el colisionador de cajas que necesitarás agregar para detectar las colisiones. Y te voy a dar una gran pista. Esa gran pista es usar algo llamado On Trigger exit. Ahora aún no hemos cubierto la salida o entrada de azúcar. Pero lo haré, te daré este gran mega reto para que descubras algo nuevo. Porque como te he dicho, mi objetivo es convertirte en un experto
solucionador de problemas y no solo verme crear un juego e investigar todo por mí mismo. Por lo que simplemente da los recursos y la documentación y muéstrale eso ahora mismo. Entonces es un colisionador 2D, que sería por supuesto el colisionador, el colisionador de cajas que tiene el enemigo. Usará algo llamado Onsager exit to d, que toma en un colisionador 2D. Entonces si lees la descripción, se envía cuando otro objeto deja un colisionador de gatillo adjunto a este objeto. Entonces cada vez que salimos con nuestro colisionador de cajas, algo que debería ser el suelo o la pared. Tendremos la capacidad de hacer algo dentro de las salidas no gatillo. Entonces vamos a hacer esto. Pero primero, pausa el video y ve a hacer el Challenger. Oh, bien, bienvenido de nuevo. Entonces, ¿cómo vamos a hacer este reto? Tenemos que voltear a nuestro enemigo. Lo primero que vamos a hacer es añadir un colisionador de cajas a este enemigo. Y este colisionador de cajas estará representando algo llamado Periscopio. Entonces si no sabes lo que es un Periscopio,
es algo usado en los submarinos. ¿ Sabes lo que es un submarino? Es un barco que flota o no flota en realidad que nada en no estoy seguro si hace frío, nada bajo el agua y tiene un Periscopio. Y ese periscopio es como una lente que sube de la nave y puede mirar por encima del agua. Seguro lo has visto en dibujos animados o en algún tipo de películas. Y a éste le llamamos periscopio porque va a ser algo así como un submarino pero invertido. Por lo que este colisionador de cajas se asegurará de que estamos saliendo por la plataforma. Entonces si tomamos ahora mismo a nuestro enemigo y empezamos a moverlo,
así él se mueve, se mueve, se mueve, se mueve, se mueve. Y siempre que llegue al borde justo aquí, está bien. Se activará la salida no gatillo, que es una función que se volteará o una vuelta de doce V dentro de ella. Pero la salida emprendedora se usa siempre que nuestro colisionador de cajas sale de cierta cosa. Entonces, siempre que eso suceda, necesitamos voltear el sprite a minús1 y entonces nuestro enemigo
empezará a correr por la otra dirección hasta que llegue al muro. Y cuando llega a la pared y sale por el colisionador, entonces otra vez, volteamos una vez más y él vuelve al otro lado. ¿ Y por qué funciona esto? Bueno, porque como pueden recordar, en primer plano tenemos esto. ¿ Dónde está el colisionador de compost? Tenemos este colisionador compuesto, y así funciona la salida emprendedora. Siempre que nuestro Colisionador o el colisionador sobre el enemigo salga
por, por ejemplo, aquí, este muro justo aquí. Cuando salga a través de él, activaremos, usaremos la salida emprendedora y lo que sea que esté dentro de la salida de Onsager, que será nuestro flip sprite se ejecutará y nuestro sprite Player se volteará. De acuerdo, entonces espero que eso no fuera demasiado confuso. Ni siquiera estoy seguro. Entonces, vamos a guardar eso. Volvamos a Visual Studio y sigamos adelante y empecemos con. Lo primero que haremos es crear la salida Onsager. Entonces si simplemente bajamos aquí y empezamos a escribir en trigger, Visual Studio es increíble y el mejor amigo nos da muchas sugerencias. Y uno de ellos está en la salida del gatillo también. Entonces ahora lo que debemos escribir y al sur de la salida del gatillo del brazo, lo
primero que tenemos que escribir es el
lado de resolución flip sprite de la salida del empresario creará una función que será flip sprite. Y este flip sprite va a ser bastante similar al de jugador. Pero la única diferencia
es, es que ahora mismo lo
estamos, en realidad no tenemos ninguna corriendo horizontalmente ni velocidad, o no necesitamos comprobar nada porque todo el movimiento es dinámico. Entonces lo único que necesitaremos es esta línea aquí mismo, que comprueba la dirección o el signo de la velocidad en el cuerpo rígido. Entonces sigamos adelante y generemos el método y simplemente peguemos esto aquí mismo. Y una cosa más que necesitamos cambiar es el cuerpo rígido enemigo. Ok? Por lo que ahora siempre que activemos la salida del empresario dos D entrarán en el orgullo de las volteretas, y este método de flip sprite comprobará si el enemigo cuerpo rígido dot velocidad x seno velocidad. Por lo que en base a
eso, dará la vuelta al sprite. O kay, caret. A continuación tendremos que hacer, y ahora esto funciona perfectamente bien, pero el único problema es que nuestros enemigos siguen yendo en la misma dirección que va porque no hemos cambiado cómo corre. Sigue siendo una actualización. Tenemos a nuestro enemigo que la velocidad del cuerpo rígido sigue en la misma dirección. Y para poder arreglar eso, vamos a crear un método que se llama está mirando hacia la izquierda. Entonces, ¿qué es este método? Sigamos adelante y creamos y veremos qué hace. Es un booleano. Será un booleano y se llama está mirando hacia la izquierda. O caso. Entonces, ¿qué es, está mirando a la izquierda? Bueno, es un booleano que devolverá la transformación o punto escala local punto x. Y comprobará si esa escala es mayor o menor que 0. ¿ Por qué es eso? Bueno, porque si volvemos a tu unidad, él y miramos a nuestro enemigo, podemos ver que cada vez que se mueve a la izquierda o está mirando a la izquierda. Aquí arriba en la transformación, vemos que su escala es una. Entonces si está mirando hacia la izquierda y eso significa que su escala es mayor que 0, eso significa que la función o método está enfrentando a la izquierda devuelve verdadero. Y si no está mirando a la izquierda es si está mirando a la derecha, eso significa que su escala será menos uno. Eso significa que devolverá falso. ¿ Y cómo vamos a usar eso? Vamos a usar eso aquí mismo en el cuerpo rígido de punto NMI o aquí en la actualización. Entonces sigamos adelante y hagamos eso. Por lo que esto está de frente a la izquierda se comprobará por la transformación puntos locales col rizada y el punto x por supuesto. Y comprobará si es más grande que 0. Por lo que el efecto es mayor que 0. Esto será cierto y esta función o método devolverá true. Y eso significa que si está mirando hacia la izquierda, está mirando hacia la izquierda. Haremos, haremos que nuestro enemigo vaya en la dirección izquierda. De lo contrario. Eso significa que si no está de frente a la izquierda, sigamos adelante y copiemos esto. Y vamos a quitar el signo menos. Entonces vamos a quitar esto, que todo tenso y bueno. Y vamos a ver si eso incluso funcionó. Entonces pondremos al enemigo justo aquí. Daremos click en play. Entrémonos a la escena. Y no funcionó en absoluto. ¿ Por qué? ¿ A dónde diablos va este tipo? Entonces si llega a la pared, tampoco
hace nada. ¿Por qué es eso? Bueno, creo que eso es porque. Nuestro enemigo aún no tiene capa. Entonces sigamos adelante y agregamos una capa Enemy. Entonces capa enemiga. Y guarde eso. Y entraremos en la matriz y nos aseguraremos de que nuestro enemigo solo interactúe con el jugador y el suelo. Entonces guarde eso. A ver si eso funciona. Ahora, vuelve atrás, haz click en play, comprueba arsine y nuestros enemigos aún va y sigue yendo hasta que llega a la escalada. Entonces, ¿cuál es el problema? El problema es que en realidad deberíamos hacer de este colisionador de cajas justo aquí un gatillo. Y eso es lo muy importante, y me olvidé de hacer eso. ¿ Y por qué es eso importante? Bueno, por el nombre de la función que estamos usando, se llama On Trigger sale. Por lo que este enemigo debe ser un detonante. Es decir, el colisionador de caja en él debería ser un gatillo. Entonces si volvemos bien, pongámoslo aquí para que tengamos tiempo de comprobar el enemigo va a pecar y él debe voltear y sí termina al muro. También se voltea. Y si
regresa, también se voltea y todo funciona a la perfección. Entonces revisemos el código solo un poco porque sé que podría ser confuso. Por lo que nuestro enemigo tiene una velocidad NME Ron y esa velocidad enemiga Irán es constante cada vez, pero su propia rodilla cambia de dirección en función de la dirección que nuestro enemigo está enfrentando. Entonces lo que hicimos es utilizar la función o método de enfrente a la izquierda que comprueba si nuestro jugador está enfrentando a la izquierda en base a la transformación que escala local 0.8x. Entonces si nuestro jugador está mirando a la izquierda, escala será una y su dirección será a la izquierda. De ahí que pongamos un menos junto a los enemigos Ron velocidad. Y si no está enfrentando a amados, eso significa que está enfrentando a la derecha. Eso significa que su escala local es negativa. Eso significa que las velocidades de la orina deben estar en la dirección correcta. Lo siguiente que hicimos es crear una sobre salida de azúcar. Y esta salida emprendedora se activa cuando otro nuestro colisionador de cajas que hemos creado como periscopio bajo nuestro enemigo. Es, cada vez que sale de un cierto, deberíamos
llamarlo, cierto Colisionador. Siempre que sale de eso, se desencadena y lo que esté dentro de ese método se ejecuta. Y lo que hemos puesto dentro de él es un flip sprite, que se voltea en base al signo de velocidad de cuerpos rígidos enemigos. Entonces espero que hayan disfrutado el video. Espero que no fuera muy confuso. Sé que fue una larga. Entonces gracias por llevarte conmigo y te veré en el siguiente.
35. Golfo de jugador: Volver a todos a un video completamente nuevo. Y en este video vamos a hacer vulnerable a nuestro jugador a nuestros enemigos. Ahora, cada vez que tocamos a nuestro enemigo, puedes ver que volamos lejos y tocamos una pequeña animación que nos
vuelve blancos y en realidad no podemos movernos durante unos dos segundos. Entonces si tratamos de movernos ahora mismo no podemos, pero después de dos segundos, no podemos. Por lo que este video también es un poco largo, pero también es muy, muy vale la pena, porque estamos empezando a crear mecánica para nuestro juego. Entonces, no perdamos más tiempo y empecemos. A. Entonces empezaré dándote un reto. Entonces tu reto va a ser crear una cabeza dramática. Entonces cuando el jugador toca al enemigo, Necesitamos activar algún tipo de patadas. El miedo necesitará cambiar la animación de los jugadores. Y tendremos que detener la capacidad de moverse durante dos segundos. Entonces sé que esto es un duro y estamos de pie por el reto, pero estoy seguro que estás a la altura de la tarea. Así que pausa el video ahora mismo y ve a hacer el reto. De acuerdo, bienvenido de nuevo. Entonces, antes de que empecemos, lo
primero que quiero que hagas es que te metas en la ondulación,
vayas al control de versiones o al árbol de fuentes, y sigas adelante y escenifiquen todo desde el video anterior. No tuvimos tiempo para hacer eso,
así que sigamos adelante y llamemos a esto enemigos añadidos y los hicimos alrededor. De acuerdo, ya basta con comentar eso, y ahora está guardado en nuestro control de versiones. Volvamos a Unidad y pensemos en lo que vamos a hacer. Bueno, queremos que nuestros jugadores sean golpeados cada vez que toque al enemigo. Entonces entra en el guión del jugador y veamos qué vamos a hacer. Lo primero que haremos es agregar un método que se llama golpe de capa. Y este hit de jugador solo debe llamarse siempre que nuestro jugador esté tocando al enemigo. Entonces tendremos que ir adelante a la unidad. Y algo que tenemos que hacer antes es convertir a nuestro enemigo, la capa enemiga, en la capa Enemigo. Y otra cosa que podemos hacer, en realidad
podemos prefab son enemigos o ahora tenemos una prefab del enemigo porque ya tenemos todo instalado en él casi. Entonces volvamos y veamos aquí. Por lo que jugador hit sólo se puede llamar si nuestro Colisionador de Caja, 2D punto, nope, soy Y mi colisionador de caja. Entonces mi colisionador de caja, mientras que, Mi caja Colisionador 2D punto está tocando, es tocando capas. Perdón, no sé qué se ha metido en el Visual Studio. Entonces es tocar capas, capa, máscara, punto get mezquita y ¿Qué no la hizo capitalizada? Ok, entonces ahora Máscara de Capa, punto obtener Máscara. Y por último, podemos sumar al enemigo justo aquí. Y debido a que es una referencia de cuerda, vamos al enemigo,
pinchamos en la Añadir capa y encontramos la preferencia de cuerda para enemigo. Vuelve a Visual Studio y en eso, ahora abre los corchetes. Ahora si tienes curiosidad de cómo estoy moviendo esto. Bueno, en realidad resalté en espera Alt y presiono la flecha arriba. Y ahora una orden para sangrar a la derecha, simplemente
hacemos clic en Tab go rate. Ahora sigamos adelante y generemos este método. Tenemos un hit de jugador ahora mismo. ¿ Y qué debemos hacer dentro del hit de jugador? Bueno, lo que queremos hacer es que en primer lugar, nuestro jugador en el año. Entonces sigamos adelante y creemos una variable para eso. Será un campo serializado. Será un factor dos. Será un factor dos porque queremos que el jugador pateado en la dirección x n y la dirección del viento. Llamaremos a este hit kick. Y va a ser un nuevo vector a, ¿
con qué variables debemos hacerlo? ¿ Qué, qué tan duro o qué tan alto debe ser? Creo que 50 F por 50 F es una buena patada. Podemos podremos cambiarlo más adelante en nuestro Inspector, así que no se preocupe. Sigamos adelante y eliminemos esto. Y vamos a añadir este hit kick a nuestra velocidad corporal rígida. Entonces mi rígido cuerpo velocidad, velocidad de
punto, está bien, va a ser golpeado patada. Pero eso no es suficiente. Nosotros queremos multiplicarlo por algo y que algo va a ser nuestro solo lo escribiría y te diré qué es. Entonces va a ser menos transformado punto escala local, ¿de acuerdo? Punto x y una f. Así que guarde eso y déjeme explicar lo que esto significa. En primer lugar, claro que entiendes lo que es hit kick, pero ¿por qué nos estamos multiplicando? Fue un nuevo vector dos con la escala local de lote menos transformado. Bueno, digamos por ejemplo, nuestro jugador camina hacia el enemigo. Entonces tomemos a este jugador y está corriendo hacia el enemigo. Por lo que su báscula es una. Por lo que si lo golpean, lo lanzarán al aire. ¿De acuerdo? Pero el problema es que no queremos que se lance al enemigo. Queremos que se lance lejos del enemigo. Entonces por eso hemos puesto Su, hemos multiplicado el hit kick por un nuevo vector que es menos transformado punto escala local. Entonces de esa manera Él está enfrentando a los enemigos de esa manera, o desde el lado izquierdo, ¿de acuerdo? O en esa dirección, será
golpeado por un menos uno y saltará a la izquierda. O, y si es de este lado y su báscula es minús1, lo enviarán a ese lado. De acuerdo, entonces espero que eso explique eso. Entonces haga clic en play. Y veamos si dejamos que el gol enemigo, lo
tocamos y saltamos. Entonces veamos eso de nuevo. Y en realidad se quedó atascado en la escalada. Consigamos otro hit. Y volvamos a ver un libro de tiempo más o gay, correcto. Podemos, tal vez cambiemos el hit o la fuerza del hit más adelante. Pero por ahora creo que ya es lo suficientemente bueno. Entonces si en este punto sientes que
tienes todo bajo control y quieres seguir desafiando solo. Yo los animo a que hagan eso. Si no, sigamos. Vamos a estar importando nuestro sprite de cabeza de los recursos que te he amado. Vamos a seguir adelante y ponerlos dentro de dónde están los sprites dentro de los sprites Conqueror, genial. Entonces esta es la cabeza. Vamos a hacerlo 30 pixeles por unidad. Vamos a hacerlo múltiple. Vamos a aplicar eso e ir al editor sprite. Vamos a rejilla por tamaño de celda, y voy a dejar esto fue 58 por 58 con una rebanada de relleno de 20 píxeles que arriba, perfecto. Por lo que 58 por 58 con 20 relleno, aplica eso. Y ahora sigamos adelante y creamos la animación para nuestro hit de jugadores. Entonces entra en animación y lo haremos, ¿cómo debemos llamar a esto? Bueno, conseguir un hit, Guarda eso, y muévelo a la carpeta de animación y a la carpeta del jugador dentro de la animación. ¿ Y qué haremos ahora? Bueno, lo vamos a agregar a nuestro animador. ¿ Y cómo vamos a hacer las transiciones aquí mismo? Entonces vamos a hacer la transición de Obtener niño de cualquier estado. Lo que eso hace es donde sea cual sea nuestro estatus si todos juegan como correr es saltar. No lo sé, escalar, ralentí. Si toca al enemigo, necesita activar el que recibe el golpe y activar la animación de ser golpeado. Y veamos ahora mismo la animación. Si nos sale la cabeza, veamos eso. Ah, bien, excelente en las obras. Bien. ¿ Y qué debemos hacer? Debería ser un looping. No, no creo que deba serlo. Entonces cada vez que nuestro jugador es golpeado, su b puede ser de cualquier estado Y entonces debería volver a transitar al ralentí. Y veamos cómo debemos hacer esas transiciones. Entonces como siempre, voltearemos la duración de transición a 0, por lo que es instantánea, instantánea. Y necesitamos por supuesto, agregar aquí una condición que será un gatillo, no un booleano porque no necesitamos volver. Sólo necesitábamos ser un gatillo. Y lo llamaremos golpear solo para mantenerse consistente con los desencadenantes por encima de él. Y ahora agregaremos esa condición aquí mismo, y veremos cómo estaremos usando este gatillo en lugar del booleano. A continuación tendremos que hacer la transición de nuevo al ensanchamiento, y creo que haremos esa transición a. Vamos a ver cómo eso hará esa transición B. En primer lugar, esto sería 0 aquí mismo. Entonces guarde eso. Y para ir del bateo a la espalda al
ralentí, creo que vamos a hacer el tiempo de duración. En realidad podemos lograrlo, digamos uno. ¿ De acuerdo? Entonces siempre que el bateo, conseguir hit termine o podamos llegar a, por ejemplo, veremos cómo sucede eso después de que realmente detengamos que el jugador se mueva. Entonces sigamos adelante y guardemos eso y vamos y activemos la animación cuando nos golpeen, la forma en que hacemos eso es consiguiendo a nuestro animador. Y en lugar de establecer Bool, vamos a usar esto aquí mismo. Eso se llama set trigger. Y se necesita también una referencia de cuerda. Entonces vamos a buscarlo. Golpeando Control C. Bueno, no, aquí no. Y Control V. Y ahora nuestra animación debe activarse. Y debido a que hemos agregado un tiempo de salida, saldrá todo por su cuenta. Entonces haga clic en play. Y veamos si eso funciona. Entonces nuestro enemigo ahí y nos golpean, y como viste, tocamos la animación. Hagámoslo otra vez. Y estamos de vuelta a ralentí o gay, genial. Otra vez. Entonces, detengamos eso. Pasemos al siguiente paso,
que es, veamos, nuestro reto de nuevo es detener la capacidad de moverse durante dos segundos. Entonces, ¿cómo vamos a hacer eso? Lo primero que haremos es crear una variable aquí mismo que será un booleano. Y ese booleano va a ser algo que llamaremos le está lastimando. Piensa, ok, ¿y qué hace este daño? Bueno, antes que nada, va a ser falso cuando empecemos el juego. ¿ Y qué debe hacer esta variable? Bueno, dentro de actualización, si está doliendo. Entonces si nuestro jugador está lastimado o negado libre, así que vamos a añadir un signo de exclamación. Entonces si nuestro jugador está lastimado, mantén presionada Alt y muévelo hacia arriba y pulsa Tab y todo está genial. Entonces si nuestro jugador está lastimado, no
queremos poder correr, saltar, subir ni nada. Queremos detener a nuestro tocado muerto en sus huellas. Entonces lo que hemos hecho aquí es que hemos creado una variable que es,
está doliendo, que sólo lo hará, que será cierto cada vez que nuestro jugador sea
golpeado y falso más adelante creará algo para ello. Entonces si lastimar, si es lastimar es cierto, esto hará falsa toda esta declaración y no podremos ingresar los siguientes métodos. Pero si es doler es falso, la declaración con el signo de exclamación negadora será cierta y podrá hacer todo eso. Entonces vamos a establecer, está doliendo demasiado cierto. Siempre que nos golpeen. Y veamos si eso funciona. Vuelve a Unity, haz clic en play. Y nos lastimamos. Y ya no podemos movernos sin embargo, lo intentamos. Así que volvamos a hacer clic en jugar, salir y volver a Visual Studio. Entonces ahora ¿qué deberíamos estar haciendo? Bueno, tenemos que convertir este daño de nuevo a falso. ¿ Y cómo vamos a hacer eso? Después de dos segundos? Eso lo vamos a hacer usando algo llamado Cole adolescentes y lo que nuestras corutinas. Bueno, es un método que puede suspender la ejecución de la instrucción hasta que se cumpla
cierta condición o se cumplan ciertas condiciones con un s. Por lo que a estas suspensiones se les conoce como yield. Y en nuestro ejemplo se usará, estará suspendiendo el tiempo hasta que nuestro jugador pueda moverse de nuevo después de ser golpeado. Por lo que girar es volver a ser falso. Me han encantado las documentaciones de unidad para rutinas de
carbón en los recursos para que puedas ir y leer todo sobre ellas. Pero esta es la idea principal detrás de los recubrimientos. Y las corutinas son extremadamente importantes y la unidad el desarrollo del juego. Por lo que es una gran habilidad para aprender. Y vamos a seguir adelante y hacer un recubrimiento. Por lo que la forma en que iniciamos una rutina de llamada es la siguiente. Entonces tecleamos en I, enumeramos todos. Entonces yo en numerador. Llamaremos a esto dejar de doler. Y eso es todo. Lo siguiente que tendremos que hacer es escribir yield, return. Y lo siguiente que necesitaremos es nuevo. Espere cuatro segundos. Por lo que ahora podemos esperar una cierta cantidad de segundos. Y como hemos dicho, haremos dos f porque se necesita un flotador. Y después de que esperáramos dos segundos, vamos a dar vuelta está doliendo de nuevo a falso. Y podremos mover de nuevo a nuestro jugador. Ahora antes de continuar, necesitamos llamar a la rutina. Y la forma en que llamamos rutinas co ya que simplemente tecleamos y comenzamos co rutina y dentro de ella, le
damos el nombre de co-rutina para que deje de doler. Cierra los paréntesis, guarda eso, y todo debería funcionar. Vuelve a Unity, haz clic en play. Y ahora nos golpean con volar lejos. Y después de dos segundos podemos volver a retroceder y todo funciona perfectamente bien. Nos dan cabeza, vemos la animación. Nos paramos por dos segundos. Ahora tenemos que afinar todo porque seguimos corriendo, pero está bien. Lo voltearemos más tarde. Entonces vamos a ver todo aquí. Y veamos qué debemos explicar. Entonces lo primero que comprobamos si estamos tocando al enemigo, y si estamos tocando al enemigo entrará en la cabeza de juego. Dentro de play hit, agregamos la velocidad que se golpea patada. Y ese hit kick se multiplica por la otra dirección que estamos enfrentando usando el punto de escala local de transformación x. Entonces
establecemos el gatillo de golpear. Vamos a establecer el está doliendo demasiado cierto, lo que nos impidió utilizar todos los métodos dentro de, dentro de actualización. Entonces iniciamos una co-rutina que espera dos segundos y luego da vuelta atrás está doliendo a falso. Entonces espero que el video no fuera demasiado duro. Espero que no fuera demasiado confuso. Si sigue siendo confuso, adelante y hazlo una y otra vez, y asegúrate de entender lo que llaman que es el enrutamiento, porque es muy importante. Y te veré en el siguiente video.
36. Drop el BOMB: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y en éste, como pueden ver aquí mismo, tenemos una bomba. ¿ Y qué hace este vínculo? Bueno, por ahora, no hace mucho, pero sí explota. Entonces si nos acercamos,
empieza a arder y explota en una enorme explosión unida. Pero nuestro jugador aún no se lastima. Entonces, no perdamos más tiempo y empecemos. O K. Entonces lo primero que vamos a hacer, y la parte más importante de empezar algo nuevo es que vamos a entrar en sprites y vamos a crear una carpeta. Entonces la carpeta será el lazo, y ahí es donde estaremos sacando sprites pompas. Entonces vamos a entrar en los recursos y conseguir todas las bombas orgullosas que les he proporcionado. Y ahora podemos ver que hemos nacido boom, baches y bombardean. Entonces ahora lo que vamos a hacer es que vamos a crear un objeto que será un lazo. Entonces vamos a seguir adelante y crearlo. Llamará a esto la bomba, y restableceremos su transformación. Y ahora podemos encontrar eso justo por aquí. Ok, bien. Lo siguiente que haremos, en realidad, vamos a seguir adelante y ponerlo aquí arriba con nuestro jugador aquí arriba, que podamos ponerlos uno al lado del otro y experimentar como queramos. Lo siguiente que vamos a hacer es añadir un renderizador. Entonces renderizador, mientras que el renderizador, y tendremos que añadir un sprite predeterminado. Y para hacer eso, sigamos adelante y empecemos a rebanar nuestros sprites. Entonces vamos a elegir múltiplo aquí mismo, pesar de que es sólo un solo sprite, aplíquelo que entren en estos orgullo y vamos a rebanarlo, rebanarlo. Es 52 por 56, y eso es lo mucho que queremos que sea nuestro sprite. Entonces lo estoy haciendo muy rápido porque ya estás familiarizado con los pasos. Entra a la bomba, en, haz lo mismo, aplica todo, rebanala, 52 por 56, aplica, eso vino. Y finalmente tenemos el Boom. El boom también debe ser de 30. Creo que lo haremos más grande más adelante para tener una explosión más grande. Pero el rebanado será el mismo. Entonces aplica todo y ahora estamos establecidos. Entonces sigamos adelante y sumamos el sprite de la bomba. Entonces simplemente está bombardeada y no lo podemos ver. ¿ Por qué es eso? Bueno, claro que ya sabes que es porque no tenemos una capa de clasificación adecuada. Entonces sigamos adelante y agreguemos una capa de clasificación que llamaremos bomba. Y lo haremos renderizar y frente al detrás del jugador, o incluso justo detrás del primer plano. Entonces guarde eso. Y ahora volvemos a bombardear y elegimos la bomba, y ahora tenemos una bomba. Oh, bien, correcto. Lo siguiente que vamos a hacer es que estamos creando animaciones. Entonces sigamos adelante y hagamos eso. En primer lugar, crearemos una carpeta. Un video tan increíble para las carpetas. Así que crea una carpeta llamada Bombe, y dentro de ella crearemos, por supuesto, controlador de
animador también cubrirá bomba controlador de
animador y simplemente la arrastraremos a la bomba. Y ahora si haces click en el objeto bomba, puedes ver que tenemos un animador listo para que utilicemos animaciones en él. Por lo que de vuelta a Sprite, elige los sprites bomba y sigue adelante y crea una animación. Llamaremos a esta animación quemada. Adelante y dejémoslo en animaciones de baches. Y sigamos adelante y creemos la animación ósea. Y llamaremos también a esta animación. Boom. De acuerdo, agrega cuántos O's u1, arrástrelo a la bomba. Y ahora entremos al animador de la bomba. Entonces, ¿qué debemos hacer ahora? Bueno, lo primero que vamos a hacer, claro, es que vamos a sumar la quema. Y esta carga irá directamente desde la entrada. Entonces después de la quema entrará en el auge, pero no, no así. Antes de hacer eso, en realidad
necesitamos algún estado de inactividad porque como saben, la bomba no se dispara de inmediato. Queremos que se active en un momento determinado que discutiremos más adelante. Entonces lo primero que necesitaremos es que necesitamos crear una animación a partir de solo este solo sprite. Entonces hagámoslo. Nos permite hacer eso y llamaremos a este ídolo inactivo Bob. Y será una animación de un solo sprite. Lo arrastraremos a bache. Y esta será la primera una animación que hará el primer estado si quieres, que se establecerá desde la entrada. Lo siguiente que haremos es añadir la quema. Y esta quema se activará por algún tipo de gatillo que se sumará. Entonces si agregamos un gatillo aquí mismo, llamaremos a esta quemadura de gatillo. Y finalmente vamos a sumar el boom. Y esta bomba se activará o irá en la transición usando algo llamado el tiempo de salida. Ya hablamos de tiempo extra, pero lo discutiremos más ahora mismo. Entonces sigamos adelante y creemos la transición de bache de ídolo a arder y quemar a boo. Entonces de la bomba ociosa a la quema, si
miramos justo aquí, no necesitamos ninguna duración de transición y no necesitamos ningún tiempo de salida. Todo lo que necesitamos es una condición, y esa condición sería nuestro br trigger. A continuación tendremos que hacer la transición entre la quema y T Boone. Y esta duración de transición sería 0, pero el tiempo de salida ahora mismo será uno. Por lo que queríamos pasar automáticamente de la quema a la explosión, que es la animación del boom. Y por hora de salida, si pasas por encima de él, puedes ver ese tiempo de salida en tiempo normalizado desde el estado actual. Entonces, ¿qué significa eso? Si miras la línea de tiempo aquí mismo,
la forma en que funcionará esta animación a medida que avanzamos por la quema. Y por último, cuando termine la quema, pasaremos a la animación del boom. Por lo que sucederá automáticamente sin nuestra ayuda. Entonces si, por ejemplo, este tiempo de salida no es en segundos, sólo mide el tiempo que tarda para la animación de explosión. Me refiero a la animación ardiente para terminar. Entonces digamos que sumamos un dos aquí mismo. Se puede ver que tardará la cantidad de tiempo de dos animaciones ardientes en terminar, y luego hará el libro. Lo haremos uno. Y lo que vamos a hacer es ir,
vamos a hacer que la animación ardiente sea un poco más larga. Así que haz clic en la bomba, entra en animación, y haz clic en la bomba en nuestra jerarquía, entra en animación y haz clic en quemar. Da click a esta pequeña flecha aquí mismo, y podemos ver que tenemos a estos sprites ardiendo. Entonces vamos a seguir adelante y copiarlos y elegir el marco en el que queremos pegar y en base a eso, y luego de nuevo, pegado en otro momento. Por lo que ahora nuestra animación como un poco más larga, si hacemos click en play, podemos ver que nuestra mamá está ardiendo y lista para explotar. Entonces todo está listo. Todo funciona bien. Creo que eso es guardar eso. Y de lo que deberíamos hablar a continuación es de la mecánica de bombas que vamos a tener. Entonces, ¿cuáles son nuestra mecánica encuadernada? Por lo que a primera hora cuando un jugador se acerca al bono, el bono comenzará a arder. Entonces el enlace tendrá un radio de explosión. Y si el jugador dentro de este radio de sangre, si el jugador está dentro del radio de explosión, lo lanzan y lo golpean, por lo que tendrá que salir herido. Y por último, las bombas deberían desaparecer cuando termine la explosión. Entonces traté de hacer este video en una sola cinta, pero resulta que es demasiado largo y no quiero que te canses. Entonces lo que estaremos haciendo es cuando la portada esta de este video, cuando el jugador se acerque a la bomba y comience a quemarse, y luego cubriremos la desaparición de la bomba. Entonces explotará la bomba la destruirá. Y en el siguiente video, haremos estos dos puntos. Y es hora de tu reto. Y tu reto será continuar con la mecánica de la pompa. Entonces, lo primero que debes hacer es activar la quema cuando el jugador se acerca y lo
haces usando algo que llamamos un disparador ONE enter. Entonces lo primero que tendrás que hacer es agregar un colisionador de cajas o cualquier color que veas que se ajuste a nuestro objeto bomba. Y necesitas usar algo llamado On Trigger ingresó a D. Por
supuesto que he proporcionado el enlace y los recursos y es, es algo parecido a la salida emprendedora 2D que hemos utilizado anteriormente. Adelante y lee todo al respecto en las documentaciones de la unidad y úsalo. Y a continuación tendrá la bomba desaparece cuando finalice la animación de explosión. Entonces te daré una mano por eso. Además, necesitas destruir un objeto usando
destroy cada vez que finalice la animación de explosión de bomba. Y esto será un poco complicado porque vamos a introducir algo nuevo. Pero vamos, te voy a dar otra pista, que son los acontecimientos. Por lo que agregando eventos y animaciones. Ok, así que pausa el video ahora mismo. Ve a hacer algunas investigaciones. Ve a intentar lo mejor posible, y no te preocupes por cometer errores. Te veré en un rato. Oh, ok, bienvenido de nuevo. Entonces, ¿qué debemos hacer primero? Lo primero que vamos a hacer es meternos en bombas. Eran, ya estamos aquí y vamos a añadir un colisionador de cajas. ¿ Por qué un Colisionador de Caja? Bueno, no importa. Puedes agregar cualquier colisionador que te guste. Pero por ahora estaremos agregando un colisionador de cajas. Y creo que lo haremos un poco más grande. Por lo que de esa manera cubrimos. Entonces cuando el jugador entre en este radio, empezará a arder y lo haremos un poco más pequeño aquí mismo, saldremos del modo de edición y guardaremos eso. Lo siguiente que vamos a hacer es crear un guión de bomba para nuestra bomba porque vamos a estar modificando su comportamiento. Así que crea, bombardea, New Script, y crea y agrega. Y ahora vamos a entrar en nuestros activos y poner este guión y sag de guiones. A mí me gusta hacer esto antes de saltar Visual Studio. Y me gusta hacer esto antes incluso de dar click en el bono porque va a presentar el algún problema si no hacemos eso primero. Pero de todos modos, sigamos adelante y empecemos nuestro guión de bombas. Entonces lo primero que haremos es crear un gatillo de brazo entrar al método. Y si entramos en los recursos, podemos ver aquí que se envía cuando otro objeto entra al colisionador gatillo. Entonces cuando un objeto entra en el colisionador de nuestra bomba, activará este método, que es emprendedores entran al,
que es diferente a las salidas de Onsager, que, que se desencadena cada vez
que salgamos del colisionador y antes de que nos olvidemos,
por lo que no cometemos el error que hemos cometido anteriormente. Tenemos que asegurarnos de que el colisionador de cajas sea un gatillo. Así que guarde eso y vuelva a Visual Studio. Entonces, ¿qué debemos hacer aquí? Bueno, como hemos dicho, cuando el jugador entra al empresario, quiero decir, cuando el jugador entra en las inmediaciones de nuestra bomba o entra en el colisionador sobre la bomba. Debería iniciar la animación. Entonces lo primero que haremos es conseguir una referencia a nuestro animador. Entonces animador, y llamaremos a esto mi animador. Y conseguiremos el componente desde el inicio, que será obtener animador de componentes. Y estamos fijados. Lo siguiente que haremos es activar el Quemado. Entonces está listo, Trevor, abre esto. Y como dice verdadera referencia de anillo, siempre
volvemos atrás y lo conseguimos. Entonces copia eso, pegarlo, cierra eso, guarda eso. Y veamos si eso funcionó. Entonces esperen la unidad. Haga clic en jugar. Y ahora si tocamos la bomba, explota, ve rate. Pero hagámoslo otra vez porque quiero mostrarles algo. Si nos acercamos, se
puede ver que esto, estas partículas aquí mismo siguen presentes. Entonces lo que tenemos que hacer es deshacernos de ellos. Ok. Y antes de que hagamos eso, quiero hacer la explosión un poco más grande. Entonces vamos a hacer clic en bono, y vamos a la animación, el boom. Y elijamos éste. Y quiero hacerlo más grande. Entonces haga clic en esto se enorgullece y sigamos adelante y que sea 15. A ver cómo está bien, ya es lo suficientemente bueno. Hagámoslo diez. Sí. Una explosión gigante. Sí, eso es exactamente lo que necesitamos. Está bien, genial. Guarda eso. ¿Y ahora cómo vamos a destruir usando el método de destruir? Y si entras a los recursos y a la documentación de Unity, podemos ver que hay un método que nos permite hacer eso. Y lo que hace es quitar un objeto o componente o S. Así quitará el objeto bomba por completo de nuestra escena. Entonces vamos a hacer eso. Y la forma en que lo haremos es crear una función aquí mismo o un método. Lo haremos vacío y lo llamaremos destruye bomba. Y sólo haremos una cosa y una especie de destruir bomba y destruir. Estamos abiertos los corchetes y enviaremos el objeto del juego. Y este objeto de juego representa el objeto de juego, que es nuestro vínculo que tiene este guión de mamá adjunto a él. Por lo que es una referencia muy simple y fácil para nuestra bomba. Guarda eso. Y ahora el paso final es ¿dónde vamos a llamar a esta función o método? Y donde lo vamos a llamar es del libro. Y como les he dicho, se trata de acontecimientos. Entonces si nos movemos aquí mismo y nuestros marcos, el último fotograma es donde queremos eliminar la bomba. Y si miras de cerca aquí mismo, puedes ver que tenemos este botón que no nos está diciendo nada, pero eso es un evento. Y si hacemos click en él, puedes ver que agrega una pequeña cápsula aquí mismo, eso es un evento. Y lo que este evento de animación nos
permite hacer, nos permite elegir una función del guión que se adjunta al enlace. Entonces si hacemos click en él, podemos ver que tenemos o al empresario entrar 2D o al destruir bombardeado. Escogeremos la bomba destruida, y es muy sencillo. Es muy rápido. Eso lo ahorraremos. Vamos a cobrar en el juego. Y ahora si entramos en las inmediaciones de la bomba explota, y como pueden ver, está destruida. Por lo que ya no lo vemos en nuestra escena. Y también ya no lo vemos aquí mismo en nuestra jerarquía del lado izquierdo. Así que salga del modo de juego y sigamos adelante y preferimos nuestra bomba. Por lo que prefab el vínculo. Lo tenemos en nuestro prefabricado, salvo que todo esté bien. Y el siguiente video vamos a estar lastimando nuestro jugador y lo estaremos enviando volando. Entonces te veré en el próximo.
37. Exploder nuestro conquistador: Bienvenido de nuevo mis desarrolladores de juegos favoritos a un video completamente nuevo. Y en este, realidad
vamos a hacer que nuestros bonos sean bombas reales. Porque no sólo explota ahora mismo, sino que un libre están demasiado cerca de la bomba. Nos tira y no podemos movernos durante dos segundos hasta que podamos movernos de nuevo. Y podemos ir allí. Entonces, intentémoslo de nuevo. Ah, el Balmer también desaparece. Entonces, no perdamos más tiempo y empecemos. De acuerdo, entonces ahora necesitamos lastimar a nuestro conquistador cada vez que él, cada vez que explote la bomba, la próxima vez. Lo primero que haremos es que vamos a actualizaciones de actividad aquí mismo. Y vamos a crear un método para hacer eso. Y ese método va a ser vacío, vacío, explotar, bombardear. Ok. ¿ Y qué debemos hacer dentro de bache explorado? Bueno, tendremos que comprobar si nuestra obra está en las inmediaciones de la bomba cuando explote. Y la forma en que vamos a hacer eso es usar algo en Física 2D llamado círculo de superposición. Como puedes ver, tiene múltiples parámetros en él, pero usaremos principalmente el punto, el radio, y
la Máscara de Capa. Y también lo haremos, como puedes ver aquí mismo, tiene un tipo de retorno de Collider 2D, lo cual es útil saber. Y en la descripción se puede, se
puede ver que comprueba si un colisionador cae dentro un área circular también estará visualizando el área circular. Pero lo primero que necesitamos hacer es usar la función. Por lo que es física superposición de puntos 2D sobre círculo de vuelta. Entonces, ¿qué es? ¿ Dónde está? Por lo que se solapa círculo. Y como viste antes, toma el punto que es el centro, va a ser nuestra posición transform.py. También se necesita un radio. Entonces debido a que el radio podría ser variable, sigamos adelante y creamos una variable para ello. Por lo que es campo serializado, que será un flotador, y llamaremos a este radio. Y ahora el radio será, creo que tres, f es suficiente. Entonces sigamos adelante y agregamos un radio. Y por último, tendremos que añadir una Máscara de Capa. ¿ Por qué agregar una Máscara de Capa? Bueno, porque queremos que la bomba solo interactúe con el jugador, no
queremos que explote, nada más. Entonces sigamos adelante y agregamos una Máscara de Capa. Ya sabemos hacer eso. Es bastante similar a la asombrosa capa, y requiere una referencia de cuerda o vamos a conseguirlo del jugador. Haga clic en las capas, las capas añadidas y simplemente copie la capa en la que reside el jugador. Guarde eso, y todo debería estar funcionando bien. Lo siguiente que vamos a hacer es que lo vamos a visualizar. Y la forma en que vamos a visualizar es usando los artilugios. Como puedes recordar. Recuerda, los artilujos se usaron aquí en unidad cuando queríamos hacer un poco más pequeño nuestro icono de la cámara. Está aquí arriba. Como puedes ver, son artilugios y podemos afectar muchas cosas. Entonces, ¿qué son los artilujos? artilugios se utilizan para visualizar las ayudas de depuración y configuración. Y la forma en que lo hace, dibuja en la escena. Y estos son uno de sus métodos estáticos. Y el que vamos a usar es el campo de los cables de dibujo. Entonces hagámoslo. Y otra cosa que necesitaremos es este punto de comportamiento mono onDraw gizmo seleccionado, que estaremos utilizando a una orden para usar la velocidad de alambre de paja de gizmo. Entonces veamos cómo sucede. Sé que esto podría ser confuso, pero esto es muy importante y no hace tanto calor. Tan privado vacío y en sorteo gizmo seleccionado, eso es todo. Lo siguiente que necesitaremos son los cables de empate. Por lo que vamos a escribir artilugios punto dibujar cables miedo. Y como se puede ver aquí mismo, los parámetros son el Centro, que por supuesto será la posición de punto transformado. Y por supuesto que necesitaría el radio. Entonces simplemente le daremos el radio que hemos creado. Y esto es extremadamente hiriente porque ahora si entramos en nuestra escena y hacemos click en enlace, se
puede ver que nos da un, lo que le llaman un cable, un cable esférico justo alrededor de nuestra bomba. Y ahora sabemos lo grande o pequeño que necesitamos para hacer el radio. Por lo que unos pocos caen aquí y el guión de bombas, se
puede ver que se puede aumentar el radio y hacerlo más pequeño y más grande. Y es muy útil porque nos dirá lo grande o pequeño que queremos hacer la explosión. O al menos el radio de explosión de la explosión. Ow, kay, así que ahora deberíamos empezar a agregar diferentes comportamientos al jugador. Antes de hacer eso, sólo
quisiera comprobar si todo está funcionando. Entonces sigamos adelante y creemos una condición if. ¿ Y qué debemos poner dentro de la condición if? Deberíamos comprobar si realmente conseguimos un jugador dentro del radio. Entonces como puedes ver, el círculo de superposición devuelve un colisionador 2D. Entonces sigamos adelante y ponerlo dentro de una variable. Llamaremos a este jugador colisionador. Va a ser igual a este círculo. Entonces si Jugador Colisionador, esto significa que si realmente encontramos un, un colisionador de jugadores, vamos a imprimir en la pantalla, hey, entrenador tú corriendo. De acuerdo, así que guarde eso. Y ahora si volvemos a Unidad, deberíamos ver algo impreso en la consola. Entonces si nos acercamos al bache
, explota, pero no podemos ver nada. Entonces, ¿por qué es eso? Bueno, porque aún no hemos llamado The explode bound. Entonces, ¿dónde vamos a llamar a la bomba explosiva? Y lo vamos a llamar desde un evento
usando el evento de animación que hemos comentado en video anterior. Y te daré un mini reto. Por lo que quiero debe usar los eventos de animación fin de llamar a la bomba explorada cuando explota. Así que toma este mini reto ahora mismo, pausa el video e intenta hacerlo. Ah, Came mini reto. Se acabó el tiempo. Entonces ahora vamos a subir. No, eso ha parado esto de nuevo abajo, yendo a la animación. Haga clic en bomba y elija la animación de boom. Entonces vamos a ver en qué marco debemos agregarlo? Creo que debería estar en este marco. De acuerdo, así que haz clic en Agregar Evento, y ahora podemos elegir una función, elegirá la bomba de explosión. Entonces tenemos destruir bomba, que destruye la bomba y explota bomba, que explota la bomba. Y intentemos esto otra vez. Por lo que ahora nuestro jugador se acerca, explota. Y en nuestra consola de código podemos ver que tenemos, hey, CO2 funcionando. Probemos esto de nuevo, pero no estemos en las inmediaciones de la bomba, así que la activamos, huimos y nada se imprime en la pantalla. Excelente. Entonces ahora no queremos imprimir nada. En cambio queremos tirar jugador en el aire. El modo en que vamos a hacer eso también es usar algo llamado cuerpo rígido dot add force. Ok, entonces este video, hay un montón de cosas nuevas, pero he dejado todo en los recursos y puedes ir a revisarlos, leer todo lo que quieras de ellos. Son cosas muy básicas. No hay necesidad de preocuparse por ello. Por lo que agrega fuerza, función muy útil para agregar que agrega una fuerza al cuerpo rígido. Y como se puede ver, se necesita un vector, tres cuartas partes y un modo. No creo que estemos usando el modo ahora mismo, tal vez más tarde. Por lo que una fuerza se aplica continuamente a lo largo de la dirección. Y esto es lo que vamos a necesitar. Y como puedes ver, se aplica a un cuerpo rígido. Entonces hemos borrado la huella. Por lo que ahora vamos a sumar una fuerza al jugador. Y la forma en que vamos a hacer eso es primero de todo tipo y aquí están colisionadores dot. Por lo que ahora necesitamos conseguir a los jugadores cuerpo rígido usando este colisionador. Y para ello, simplemente usaremos el componente get, que es súper útil. Por lo que el colisionador jugador le quitará el componente de cuerpo rígido. Tan Rígido Cuerpo 2D que está presente en este colisionador. Y vamos a añadir una fuerza a ese cuerpo rígido. Y ahora como puedes ver, necesitamos un vector dos 4's, y sigamos adelante y crearlo. Entonces como el radio, esta fuerza también es variable y también se puede utilizar desde el inspector lo
llamará factor dos y lo nombraremos la fuerza de explosión. Oh, bien, excelente. Va a ser un nuevo vector dos. Y de qué debemos darle una fuerza, deberían
ser 200. Uops, 200 por ¿Deberíamos sumar en la dirección y? Sí, seguro ¿por qué no? Por lo que sumaremos 100 F en la dirección y. Guarda eso. Y ahora sigamos adelante y ponerlo dentro de la fuerza de explosión. Cerrada ahí arriba, guarde todo eso. ¿ Y qué más deberíamos estar haciendo? Deberíamos probar esto y ver si funciona. Por lo que ahora estamos al lado de la bomba. Se quema y apenas se mueve. Se movió creo que media pulgada o incluso tener media pulgada. Entonces vayamos a bombardeados y aumentemos esto a y hagámoslo 2 mil solo para ver si funciona. Por lo que ahora la bomba arde, explota y mueve un poco más a nuestro jugador, pero aún no lo suficiente. Haremos esto siete mil, siete mil. Guarda ese click en play. Vamos, explosión de bomba, tírenos al aire. Ok. Esto no está mal. sur 1000 es bueno. Ok, creo que no deberíamos agregar ninguno en la dirección y, y vamos a sumar uno y otro 0. Entonces esto son 10 mil salvados que creo que esto debería ser suficiente. De acuerdo, creo que es suficiente. Y ahora es el momento de tu reto. Y tu reto va a ser golpear a nuestro jugador. Por lo que necesitamos lastimar al conquistador si su dentro de la explosión del radio. Y te daré un par de pistas. En primer lugar, hay que asegurarse de que el hit del jugador sea público porque vamos a utilizar el colisionador que encontramos para obtener el guión del jugador y acceder al jugador, golpear y golpear a nuestro jugador. Así que pausa el video ahora mismo, este reto no es demasiado difícil. Estás, creo que tienes todas las habilidades necesarias para completarlo. Y te veré en sólo un oh, ok, bienvenido de nuevo. Entonces lo que deberíamos estar haciendo en este momento es que tendremos que llamar al hit player, lo que activará la animación y hará que nuestro jugador se lastime. Y como les he dicho,
me he dado cuenta de que es un privado, así que hagámoslo público. Por lo que podemos usarlo desde diferentes guiones. Salva al jugador, vuelve a bombardear. Y ahora deberíamos escribir aquí, jugador colisionador dot get componente. Accedemos al, Nope, no al avión, accedemos al jugador. Por lo que ahora tenemos acceso al guión. Y lo que podemos hacer aquí es actuar como el jugador golpeó, guarde eso. Y eliminemos esta fila aquí mismo porque no hace daño a nuestra organización. Y vayamos a Unidad y veamos si eso funciona. Entonces, ¿qué se supone que va a pasar aquí mismo? Que cuando entramos en este bache y eso explote, deberíamos alejarnos un par de pies de él. Y entonces no deberíamos poder movernos durante dos segundos y deberíamos ver la animación. Entonces probémoslo. Acto explota, whoa, y no podemos movernos. Y vimos la animación. ¿ Por qué es tan bueno? Está bien, lo siento. Entonces, ¿viste qué tan fuerte gobierna esa explosión? Entonces intentemos eso otra vez. Eso fue inesperado, explota, volamos lejos y podemos movernos durante dos segundos. Otra vez. Vamos a probarlo. A explota. Volamos lejos, no podemos movernos. Y después de dos segundos podemos. Excelente trabajo. No estoy seguro de por qué. Entonces. Ahora nuestro jugador vuela lejos. Deberíamos configurar más la explosión EBIT. Te veré en el siguiente video.
38. Agrega la habilidad del ataque (cómo utilizar los arones): Bienvenido de nuevo, mis desarrolladores de juegos favoritos. En este video, vamos a sumar la capacidad de R jugador para defenderse de los enemigos. Entonces si hacemos clic en jugar y bajamos a nuestro enemigo mientras nos está atacando, podemos darle un puñetazo con el martillo. Por supuesto que no pasa nada. Pero aquí podemos decir, jaja,
he golpeado al enemigo, he golpeado al enemigo, así que le volvemos a dar un puñetazo. Por supuesto, todavía nos saca, pero podemos darle un puñetazo en este momento. Y en el siguiente video mataremos al enemigo. Entonces agárrate a tus asientos y empecemos. Ah, está bien. Entonces lo primero que vamos a hacer es que vamos a estar importando los sprites de ataque. Entonces vayamos a conquistador y sigamos adelante y saquemos los ataques sprites de los recursos que te he dejado. Y vamos a seguir adelante y diseccionar. O quiero decir, rebanada hace 30, hacer esto múltiple. Estás bastante familiarizado con el procedimiento en este momento. Entonces sigamos adelante y hagamos la disección manual. ¿ Y cuánto debe ser esto? Vamos a rebanarlo y a ver qué pasa. Entonces configuración de rodaja, ¿cuál es el problema? ¿ Por qué no quiere que lo rebanemos, por favor? Ah, caso o cambiemos esto a 58. ¿ Ahora podemos rebanarlo? Ok, Entonces esto es demasiado pequeño, hagámoslo más grande. Entonces creo que sí grande, que es 78 por 5878 por 58, rebanarlo. Y ahora tenemos un sprites de cubierta en rodajas. Aplica eso. Y sigamos adelante y creemos una animación para la animación, llamaremos a esto decking. Genial. Vamos a ponerlo dentro de animación y animación, lo
pondremos dentro de jugador. Por lo que ahora en
el animador, el animador de nuestro jugador, necesitamos agregar el ataque, la animación atacante. Así que arrastra eso en el animador. ¿ Y cómo vamos a hacer las transiciones para el animador? Es decir, por atacar. Por lo que se puede acceder al ataque desde ralentí y desde correr. Por lo que puedes atacar mientras corres y mientras estás parado. Y por supuesto tendremos un regreso de vuelta a esos dos estados para que puedas correr y matar a todos los enemigos a tu paso. Eso significa que vamos a hacer un booleano. Y llamaremos a este ataque booleano solo para mantenerse consistente con las cosas por encima con los otros desencadenantes. Por lo que la transición de ralentí a atacar debe
por supuesto tener una duración de transición de 0 y no debe tener ningún tiempo de salida. Y la condición sobre ella será en atacar debe ser cierta. Lo mismo vale para correr con una duración de transición de 0 sin tiempo de salida y con condiciones de atacar para ser verdad. Ahora las transiciones hacia atrás deberían tener una duración de transición de 0. Y en realidad, sabes qué, atacar no debería ser un booleano y debería ser, sí, borrar eso. Debería ser un gatillo y lo llamaremos etiquetado. Te diré por qué en tan solo un segundo. Entonces volvamos. El estado sigue siendo cierto aquí mismo, y la condición está funcionando bien. Genial. ¿ Cuán útil es la unidad? Entonces ahora, cuando entremos en la animación de ataque y queremos volver atrás, haremos un tiempo de salida y ese tiempo será uno. Entonces cuando termine la animación de ataque, volvemos a ralentí o podemos volver a la carrera si ya estamos corriendo con una duración de transición de 0. Entonces guarde eso, asegúrate de convertir el ataque en un gatillo, no en un booleano. Y sigamos adelante y hagamos un reto. Entonces tu reto es hacer que nuestro jugador ataque. Queremos que nuestros jugadores ataquen cuando presionamos un botón determinado. Entonces les daré un par de eventos. Necesitas usar el botón get down porque es bastante similar a saltar. Queremos que el ataque ocurra de inmediato. Vamos a desencadenar animación de ataque. Y por último, vamos a usar la física a lo similar a lo usado y lazo para conseguir todo y enfocarnos en la palabra todos los enemigos en rango de ataque. Entonces tendremos que usar no superposición círculo sino solapamientos círculo
o.Entonces el reto, las dos primeras cosas no son tan calientes. Ya las hemos hecho, creo que varias veces. Pero la parte difícil será la física a D porque tiene un aumento en ella. Entonces si sientes que puedes manejar eso, sigue
adelante y pausa el video y haz el reto. De acuerdo, bienvenido de nuevo. Entonces veamos si nuestra animación de ataque realmente funciona. Por lo que hacemos click en jugador, elegimos el atacante. Y veamos si eso funciona. Acerquemos a nuestro jugador y pinchemos en jugar. De acuerdo, entonces la animación de ataque está funcionando perfectamente bien. Entonces, cerrémoslos. Guarda todo eso, y vamos a entrar en nuestro guión de jugador y ver qué tenemos que hacer aquí. Por lo que primero necesitamos crear un método para el ataque. Entonces hagámoslo. Entonces, ¿qué etiqueta aquí? Y sigamos adelante y generemos ese método. Entonces para generarlo, no lo hace. Está bien, no se preocupe. Y sigamos adelante y creemos los nuestros propios. Tan privado vacío porque no tiene ningún valor de retorno en Tech. Excelente, por lo que ahora la línea rojiza garabateada debería desaparecer y lo hace. Entonces, ¿qué debemos hacer un ataque? Lo primero que vamos a hacer es que vamos a conseguir una entrada del jugador. Entonces si plataforma
cruzada, plataforma cruzada, gestor de entrada punto obtener botón abajo, claro. ¿ Y qué debemos escribir dentro de aquí? Bueno, deberíamos mirar los insumos en nuestra configuración de proyectos o vamos allá en Unity. Y nos vemos en el gestor de entrada, lo que tenemos para ayudarnos, y una de las cosas que nos podrían ayudar es el fuego, que utiliza el control izquierdo o el botón del ratón 0. Entonces vamos a copiar, disparar uno más 0, creo que es el botón más izquierdo. Entonces vamos a copiar eso. Volvamos atrás y pongámoslo aquí entre las dos comillas. Y vamos a abrir nuestra condición si y ¿qué debemos escribir dentro de f condición? Lo primero que creo que deberíamos cubrir es desencadenar la animación. Entonces mi animador disparan y deberíamos activar el anuncio atacando. Hagamos esto más pequeño. Eso va a entrar en un animador. Copia esto de nuevo a Visual Studio. Haga clic en eso, guarde eso. A ver si eso funciona. Entonces haga clic en play. Y ahora nuestro jugador ataca cada vez que presionamos el botón del ratón y se detiene, vuelve a ralentí o a correr. Entonces si explotamos tu libro, Cool. Por lo que ahora podemos correr mientras golpeamos y podemos seguir corriendo. Y si estamos de pie inactivo, también
podemos golpear y luego volver a cualquiera de los dos. Excelente. Lo siguiente que tendremos que hacer es crear una caja de daño para nuestro jugador. Y esa caja de daño nos ayudará a determinar el, bueno, utilizar el círculo de superposición en la caja de rebaño con el fin de golpear a los enemigos. Entonces hagámoslo. Lo primero que haremos es crear un objeto de caja herido. Y verás por qué en tan solo un momento. Entonces sigamos adelante y creemos la caja de rebaño. Ahí está. Y reiniciemos el 0 ahora mismo, me refiero al eje z. Entonces ahora lo tenemos en nuestro avión. Y vamos a ver, llamaremos a esta caja lastimada. Y lo que vamos a hacer con esta caja lastimada es que en realidad
vamos a niño a nuestro jugador. Y sabrás por qué. En realidad, les diré por qué ahora mismo, como hemos aprendido sobre los niños y las relaciones de los padres, los niños van con los padres y queremos que los bichos heridos siempre estén apegados a nuestro jugador. Entonces como puedes ver en este momento, si nuestro jugador se mueve hacia la derecha, nuestra caja de rebaño se mueve con el jugador y se mantiene en la misma posición que podemos predeterminar. Y luego arreglaremos la posición del hotbox. Pero ahora lo que necesitamos es una referencia a esa caja y a nuestra regaña. Y la forma en que hacemos eso es que realmente crearemos un campo serializado que se crea aquí abajo. Entonces vamos a crear un campo serializado. Y este campo será, es de tipo transformado. Por lo que esta será una caja lastimada de tipo transformado y simplemente lo llamaremos caja de daño. Ahorra eso si volvemos a Unidad ahora mismo. De acuerdo, vuelve a Unidad. Y si abrimos el guión en jugador, podemos ver que tenemos un lugar para agregar nuestra caja de rebaño. Entonces, simplemente arrastremos eso ahí dentro y lo pongamos dentro. Tratemos de aplicar todo eso. Y ahora la caja del rebaño será parte del jugador prefabricado. Entonces si miramos en prefab, podemos ver que la caja lastimada será parte del pre-fab, lo cual es muy útil. De acuerdo, entonces, ¿qué sigue? A continuación tendremos que sumar un radio, igual que hicimos para el enlace. Por lo que tendremos que crear un radio para la caja de daño. Y sigamos adelante y hagamos eso primero que necesitamos para serializar campo nuevamente. Entonces ahora sigamos adelante y creamos un flotador y llamaremos a este radio de ataque y a este radio de ataque por ahora, solo
hagámoslo tres y veremos cómo podemos arreglarlo más adelante. Y otra cosa que haremos es que necesitemos visualizar el radio de ataque. Y este será un mini reto donde quiero ir y conseguir el gizmo OnDraw y usarlo para radio de ataque. Así que pausa el video y haz el Desafío Menú. O K Min, se acabó el tiempo de desafío. Entramos en bombas. Simplemente copiemos esto y pongámoslo en el fondo de nuestro guión de jugador porque no lo estaremos usando mucho. Y una cosa tendremos que cambiar como el radio aquí mismo. Entonces llamémoslo radio de ataque. Y por supuesto no será la posición de punto transformado, sino que en cambio estará en el liderato de lista que estará en la posición de punto del cuadro herido. Entonces la transformación de nuestra caja de rebaño y no del jugador. Entonces ahora volvemos a Unidad. Y si hacemos click en el jugador, podemos ver que ahora tenemos la caja del rebaño y si la movemos, capas
VIP, caja de daño, o el radio se mueve con la caja del rebaño. Entonces, ¿qué más debemos hacer? Bueno, creo que deberíamos hacer más pequeño el radio de ataque porque es demasiado grande. Y qué, cómo va a calibrar realmente esto es va a entrar en las animaciones del jugador. Daremos click en atacar. Y por cierto, puedes hacer esto como quieras. Pero por ejemplo, yo quería, quiero que el radio sea exactamente tan grande como este swinger martillo, tal vez un poco más grande. Entonces pongámoslo aquí y hagamos el radio más pequeño. De acuerdo, así que así. Y, y creo que esto es suficiente. Sí, creo que esto es lo suficientemente bueno. O tal vez podamos simplemente empujarlo un poquito a la derecha. No se preocupe por eso. No se notará. Y de hecho, para ser aún mejor porque vamos a golpear al enemigo desde
la distancia y sin embargo todavía sentimos que lo hemos golpeado de la manera correcta. Se puede calibrar, calibrar eso durante la jugabilidad. No se preocupe por eso, siempre y cuando funcione correctamente en este momento. De acuerdo, ¿qué más deberíamos estar haciendo? Bueno, ahora necesitamos revisar por los enemigos,
enemigos dentro de esta caja de cabeza. Y la forma en que vamos a hacer eso es usar el círculo de superposición. Entonces vamos a tratar de hacer eso y atacar. Cuando hacemos clic en el botón de disparo, nosotros, activamos la animación de ataque. Pero lo que más estará haciendo es que estaremos usando, estaremos revisando a cualquier enemigo que esté en las inmediaciones. Por lo que la física 2D, los puntos se superponen sobre vuelta todo. En tanto que sobre círculo todo. Y abramos y veamos qué necesita. Por lo que en primer lugar, se necesitaría el punto que será, por
supuesto la posición de punto de caja dotada. A continuación se necesitará el radio, que será el radio DAC. Y por último, necesitará una máscara de capa. Entonces sigamos adelante y agregamos la máscara de capa del enemigo. Y lo haremos, aunque sepamos escribir enemigo y es súper fácil, pero como siempre, vamos a conseguir la referencia de cuerda que he citado, creo que ya casi 1000 veces. Entonces espero que esté realmente arraigado en tu mente y lo sigo diciendo porque he pasado horas y horas tratando de averiguar qué diablos le pasa a mi código. Y todo fue porque escribí la referencia de cuerda de la manera equivocada. Entonces, sólo diciendo, de todos modos, por ahora, vamos a ver lo que tenemos que hacer es si pasamos por encima de este círculo de superposición, todo lo que podemos ver que devuelve un colisionador 2D. Pero no sólo devuelve un colisionador 2D. Devuelve un array de Collider 2D. Ya sabes, es una matriz por los corchetes que están presentes dos justo aquí al lado del colisionador al. Entonces sigamos adelante y hablemos de un aumento. ¿ Qué son una carrera? Bueno, planteé, permiten almacenar múltiples objetos del mismo tipo en una sola variable. ¿ Cómo funciona eso? Bueno, las declaramos igual que hacemos con variables donde tenemos un tipo, tenemos un nombre, y tenemos el valor que damos a estas matrices. Y la única diferencia entre una raza y variable
normal son estos dos corchetes aquí mismo. Entonces esto es básicamente una matriz. Se trata de una colección de objetos con el mismo tipo. Entonces como puedes ver aquí, tenemos entero y es una matriz, tiene un nombre, es el número de enemigos, y el valor son 461171. Y otra nota que hay que tener en cuenta es que el, estos valores se cuentan a partir de 0. Entonces este es el 0, este es el uno, los dos, y los tres. Por lo que empieza a partir de 0. Esto es muy importante recordar y tener en cuenta. Y creo que eso está muy asociado con matrices. Y algo que vamos a estar usando en este momento son bucles. Y vamos a estar usando para cada bucle. Y hay diferentes tipos de bucles, pero hablaremos del for loop y creo que en un par de videos más adelante, pero por ahora estaremos usando el foreach. Eso lo explicaremos para cada uno. El bucle for-each permite pasar por cada cosa en una colección de cosas del mismo tipo en una matriz. Entonces, por ejemplo, esto no es un ejemplo, esta es la estructura. Entonces así es como lo escribimos. Es un foreach. Tenemos el tipo, tenemos la cosa que debe ser de tipo, ¿qué tipo? Y es dentro de las cosas que es una matriz que tiene objetos de tipo, este tipo aquí mismo. Y lo que esto hace es que nos ayuda a pasar por cada cosa en las cosas y hacerle algo para que podamos aplicar un método, algún tipo de método a esa cosa. O podemos usar esa cosa en un método o podemos ejecutar otras cosas fuera del ámbito de los métodos que tienen o lo que sea. Así que sigamos adelante y hagamos un ejemplo y veamos cómo eso será útil en nuestro código. Entonces volvemos a nuestro código visual y sigamos adelante y creamos una matriz aquí mismo, que sería de tipo llamado 2D. Será una matriz usando esos corchetes y vamos a llamar a estos enemigos para ir, para golpear igual a este. Por lo que ahora tenemos una serie de enemigos a los que golpear. Lo que tenemos que hacer en este momento es que tenemos que repasar a cada uno de estos enemigos e imprimir algo. Y por cierto, una pregunta que siempre me hacen, ¿por qué estamos usando el círculo de superposición? Ah, bueno, vamos a usar overdubs círculo todo porque tal vez más adelante quieras agregar múltiples enemigos que te atacen al mismo tiempo. Entonces queremos golpearlos a todos y no sólo a uno y amar al otro, atacarnos porque eso no sería muy ilógico. Como puedes ver, nuestro conquistador aquí mismo tiene un Thor ish gigante, un martillo que aplastará a cualquier grande que intente atacarlo. Por eso estamos usando solapamientos, círculo todo para poner a todos los enemigos delante de nosotros. Y volvamos aquí mismo. Entonces vamos a crear un loops para cada uno para cada uno. Lo primero que tendremos que hacer es escribir un tipo el cual será off collider a D. Así que lo que podemos nombrarlo lo que queramos con nombrelo enemigo. Entonces, para que cada enemigo en enemigos a golpear simplemente por ahora sólo imprime Jaja, espera, no capitalizado jaja. Te he pegado. He golpeado al enemigo con otros dos signos de exclamación solo para sumar el drama. Entonces guarde eso, y vamos a ver si algo funciona. Así que da click en jugar aquí mismo. Y bajaremos, encontraremos al enemigo. Espera, espera. Y si golpeamos al enemigo y entramos a la consola, podemos ver que jaja, he golpeado al enemigo. Entonces sigamos adelante y intentemos eso otra vez. Cuando el enemigo viene por nuestro camino, lo
golpeamos y lo golpeamos de nuevo. Para que podamos ver quitar el colapso. Podemos ver que le hemos pegado cuatro veces. No se preocupe por eso. De nuevo, si venimos los golpeamos con el martillo de, por supuesto, no le pasa nada, pero aun así podemos ver que todo funciona perfectamente bien. Y esta es una parte muy emocionante de nuestro viaje de desarrollo de juegos porque finalmente tenemos los medios para defender a nuestro conquistador. Y te veré en el siguiente video.
39. Matanza de nuestros Enemies: De vuelta a mis compañeros desarrolladores de juegos y este video, hemos añadido la capacidad de matar a nuestro enemigo. Entonces ahora no solo golpeamos aire vacío. Y ahora en realidad cuando nuestro enemigo amina trata de matarnos, lo
matamos primero. Y como puedes ver, sus garabatos en el suelo apenas un poquito y luego desaparece. Está bien, genial. Espero que estés emocionado por este video porque es increíble. Por fin estamos matando cosas que están en nuestra pantalla. Tenemos la capacidad de destruir a todos. Entonces, no perdamos tiempo. Empecemos. De acuerdo, entonces lo primero que haremos es estar importando estos precios y sprites y cortándolos y haciendo lo habitual creando una animación de tiempo. Entonces ya estás bastante familiarizado con eso. Entonces lo haré rápido. Entonces haga clic en la deuda y los recursos van y arrástrelo a sprites. Y sprites, ponlo dentro del enemigo. Y cortaremos el sprite. ¿ Qué tan grande era la Run? Eran 22. Interesante. No recuerdo haber hecho eso. Por lo que 22 múltiplo aplica editor sprite. ¿ Cuánto debemos empalmar esto? Entonces 64 por 64, no, no lo suficientemente bueno. Pero ver 28 rebanados. A lo mejor más. Ver 32s se levanta para mendigar. ¿ Cuán más grande? 30, tal vez no, más grande, más grande, sólo un poco más grande. ¿ Qué significa eso? Oh no, bueno espera, son 1230 clases para así que creo que esto debería ser vamos a ver. No, 36, vamos. Está bien. Calculadora, vamos a ver, 152 dividido por cuatro, es 38. Entonces 38, tan cerca 38 satélites que arriba, aplicar todo y ahora seguir adelante y crear la animación. Por lo que la animación estará muriendo y la pondremos dentro de la carpeta enemiga y animación. Y escogeremos al enemigo. Y sigamos adelante y sumamos el moribundo. Y este moribundo puede ser de cualquier estado. Entonces vamos a acercarnos sólo un poco para ver qué estamos haciendo. Este moribundo podría ser de cualquier estado, así que haremos la transición. Y por supuesto vamos a añadir un parámetro el cual será un disparador. Entonces será dy, simplemente Dai De Yi. Y lo siguiente que vamos a hacer es entrar en el ¿dónde está eso? Acerquemos a nuestro enemigo. Por lo que nuestro enemigo ahora tiene el moribundo y cambiará la duración de transición a 0 tiempo de salida. No hay tiempo de salida y la condición será morir. Por lo que estás condicionado a morir es hoy. Y la animación, si hacemos clic de nuevo en nuestro enemigo y hacemos clic en bucear, juega esa animación. Está bien, genial. Entonces nuestro enemigo muere y él mira. Perfectamente bien. Excelente. ¿ Qué tal si lo hacemos un segundo? Entonces si morimos, él sigue luchando en el suelo. No estamos tratando de ser sádico ni nada. Simplemente queremos hacer que la animación sea más larga para nuestro placer. A mí me suena estadística. Entonces el control v. Y otra vez el control V. Y ahora nuestra animación debería verse así. Entonces morimos y él sigue moviéndose en el suelo. Genial. Entonces guarde eso. Todo funciona perfectamente bien. Supongo que hemos agregado el gatillo y ahora es momento de crear un método por el que nuestro enemigo muera. Entonces, vayamos a Visual Studio. Y Visual Studio, vamos a entrar en el guión enemigo. Y aquí mismo en actualización, vamos a sumar los moribundos. Pero antes de que hagamos eso, hagamos un poco de organización para que la actualización se vea fresca. Y extraeremos este método y lo llamaremos enemigo. Movimiento enemigo. Gay y bajo movimiento enemigo crearán a los moribundos. ¿ Y cómo debe funcionar este moribundo? Entonces vamos a crear esto. Por lo que debe ser un público porque estaremos accediendo,
accediendo a él desde el exterior. Y será un vacío. Y simplemente llamaremos a ir. Adelante y ábrelo. Y discúlpame. No lo necesitamos y actualizarlo. Tan sólo una fuerza de hábito. Entonces muriendo, un gran ¿qué necesitamos dentro de morir? Bueno, por ahora, simplemente activemos la animación. Entonces, ¿tenemos una referencia a nuestro animador? No, no lo hacemos. Adelante y por ello. Entonces va a ser un Animador. Animador, y lo llamaremos mi animador. Tan solo para que las cosas sean simples, obtendremos el componente como siempre obtenemos componente el animador. Y ahora tenemos una referencia. Suprímate eso. Ahora tenemos una referencia, ¿verdad? Sí, sí lo hacemos. Entonces mi animador establecerá el gatillo y ¿qué gatillo va a ser? Va a ser dy y sigamos adelante y seamos salvajes con esto y
no irá a copiar la preferencia de cuerda porque es una palabra de tres letras Ku. Lo siguiente que tendremos que hacer antes de demostrarlo, tenemos que revisarlo jugador. Y en lugar de imprimir algo, tendremos que acceder realmente a los moribundos. Entonces la forma en que vamos a hacer eso es porque estamos pasando por cada enemigo. Igual que hicimos con la bomba. Nosotros vamos a escribir enemigo. Entonces enemigo, que es el enemigo aquí mismo, dot obtendrá el componente. Entonces consigue componente. Y va a ser el guión enemigo. Y a partir de ahí vamos a usar el método de morir. Entonces guarde eso y veamos si eso funciona. Por lo que llamará a los moribundos. El moribundo pondrá el gatillo para morir y nuestro enemigo lo comprará. Entonces. Donde nuestro jugador, pongámoslos ahí abajo porque no queremos saltar cada vez. Adivina. Pongámoslo aquí y pinchemos en jugar y veamos qué pasa. Entonces haga clic en play. Esperemos a que nuestro enemigo viva y nos repartimos. Ok, así como viste antes de ir volando. Oh, whoa, OK. Tómalo con calma. Entonces como pueden ver, nuestro enemigo ha muerto, pero aún nos puede lastimar y sigue moviéndose. Entonces, ¿qué debemos hacer al respecto? Mira, oh, sigue haciéndonos daño. Entonces, ¿qué debemos hacer al respecto? Bueno, el problema es que todos sus componentes siguen funcionando y te metes en enemigo. Podemos ver que su colisionador capturado sigue funcionando, lo que nos lastima. Su cuerpo rígido sigue encendido, que le da la capacidad de moverse. Todavía tiene el colisionador de cajas, que le dan, le
da la capacidad de voltear sprite e ir en la otra dirección. Entonces lo que tenemos que hacer es que vamos a tener que apagar todos esos. Y los tipos de cuerpo rígido deben fijarse en estáticos para apagarlo. Entonces vamos a hacer eso. Entonces volveremos a entrar en el código. Y junto a morir después del set de gatillo obtendrá el componente para el colisionador de cápsulas y no
necesitará crear una referencia ahí arriba porque lo usaremos solo una vez, así que está bien conseguirlo. Entonces el colisionador de cápsulas, ¿
qué debemos hacer para apagarlos? Estableceremos el habilitado en falso. Y lo que eso hace es que si vamos a Unidad, vuelta a Unidad y enemigo aquí mismo, se
puede ver que cada uno de estos componentes tiene una casilla de verificación junto a ella. Entonces cuando escribimos punto incapaz equivale a falso, eso significa que hemos apagado este colisionador de cápsulas. Volvamos a encenderlo y mantenerlo aplicado a todo para que tengas la idea. Ahora también necesitaremos apagar el colisionador de caja y tendremos que establecer el tipo de cuerpo de cuerpos rígidos a estático. Si quieres hacer un mini reto ahora mismo, adelante y continúa con eso. Por lo que necesitas apagar el colisionador de caja y dijo que el tipo de cuerpo a estática. Está bien. ¿Trataste de hacerlos en un reto? Espero que lo hayas intentado. Es sólo el par de código, un par de líneas de código. Entonces ahora sigamos adelante y accedamos al colisionador de cajas. Y esta caja llamada encendedores y habilitada será convertida en falsa. Y por último, el cuerpo rígido, que tenemos una referencia para lo que es. Es el peso corporal rígido enemigo. ¿ Por qué nombré a mi animador y un cuerpo rígido? Entonces este es un buen momento para aprender un nuevo truco. Así que resalta este haciendo clic, haga doble clic. Y si mantienes el control y presionas R, R2 veces, puedes modificarlo en todas partes que esté presente. Así que mira todas las instancias donde hemos llamado a mi animador. Mira lo que pasa ahora si eliminamos a mi y a mi enemigo derecho. Cambia todos los lugares donde hemos usado este nombre. Y eso es tan fresco y extremadamente, extremadamente útil. Ok suficiente de eso, vamos a entrar en mi enemigo cuerpo rígido punto. Y sigamos adelante y tecleemos tipo de cuerpo. Y esto nos permite cambiar el tipo de cuerpo. Y Visual Studio nos ayuda de inmediato diciéndonos que necesitamos escribir cuerpo rígido tipo dos D. Haga clic en la pestaña. Ahora lo tenemos. Y podemos elegir entre cinemática dinámica. Y por supuesto elegimos estática. Guarde eso. Y veamos si eso funciona. Por lo que hacemos click en jugar. Nuestro enemigo va por el otro lado, lo
golpeamos y ahora se mueve sólo un poco en el suelo y
lo ha hecho las tasas de chicas ahora tenemos el poder y ya no podemos pegarle. Él puede ya no nos puede hacer daño y no se mueve. Excelente. Otra cosa que tenemos que hacer es que vamos a necesitar borrar o quiero decir, destruir a nuestro enemigo de la escena. Entonces necesitamos que desaparezca después de dos segundos. Y eso será parte de tu reto. Y ese reto es destruir al enemigo. Entonces espera dos segundos y luego destruye al enemigo. Harás eso. Después te doy una pista, que es usar recubrimientos que hemos aprendido en las lecciones anteriores. Por lo que es un buen momento para aplicar tus conocimientos de equipo de coral, que será una habilidad muy útil en el futuro. Así que pausa el video ahora mismo y ve a hacer el reto. Ay, kay, bienvenido de nuevo. Entonces sigamos adelante y completemos el reto. Lo primero que vamos a hacer es entrar en los moribundos. Y aquí vamos a crear un enumerador de ojos. Entonces yo en numerador. Numerador, vamos a llamar a esto, en realidad. Sólo llamémoslo morir o no, no. Llamaremos a esto destruir, destruir enemigo. De acuerdo, entonces ahora vamos a destruir al enemigo y esto será una co-rutina. Eso significa que tendremos que sanar regreso y la nueva espera cuatro segundos. ¿ Y cuántos segundos debemos esperar? Creo que dos es lo suficientemente bueno. Y después de dos segundos, simplemente
vamos a destruir el objeto del juego. Entonces como ya he dicho, el objeto del juego, este objeto del juego es una referencia al objeto del juego, que tiene el guión enemigo adherido a él. Guarde eso, volvamos a Unidad. Y esto debería, en teoría funcionar perfectamente bien. Y tenemos cabeza, intentemos esto otra vez. Por lo que el enemigo ataca y le pegamos en la cara a segundos. Y sigue aquí. ¿ Por qué sigue aquí? Vamos. Vete. Veamos qué hicimos mal. Ah, no llamamos a la co-rutina, así que vamos a empezar el coltán. Espero que no cometas el mismo error que yo. Y tu reto mientras estabas haciendo el reto, si estás haciendo el reto, no sólo mirándome y esperándome. Entonces inicia coroutine, destruye enemigo. Y ahora hacemos click en play. Y ponchamos y no, corremos tras él y ponchamos y dos segundos después, lo hizo. Oh, bien, genial. Espero que haya disfrutado el video. Espero que haya sido divertido y te veré en el siguiente video.
40. Sección 6: controlar nuestro juego: agrega niveles: Bienvenidos de nuevo a todos a un video completamente nuevo y a una sección totalmente nueva. Entonces como puedes ver aquí, las cosas se salieron rápidamente de las manos. De alguna manera tenemos tres niveles. Tenemos este pequeñito nivel justo aquí. Entonces tenemos este nivel uno que hemos estado usando hasta ahora, pero he estado usando hasta ahora, no
sabemos qué has creado. Y por último, tenemos este último nivel que es aún más extraño e incluso más grande que el anterior. Por lo que estoy tan emocionado por agregar un nuevo juego de tienda de nivel y hablar de diseño de niveles. Entonces vamos a saltar y se pone punteado. De acuerdo, entonces lo primero que haremos es entrar en nuestras escenas, que no hemos sido demasiado últimamente. Y vamos a seguir adelante y renombrar este nivel 0 a nivel uno. Y nos pedirá que recarguemos, simplemente haga clic en sí, duplicar eso, y replicar eso una vez más. Entonces ahora tenemos un nivel uno y nivel dos y nivel tres. Vamos a seguir adelante y renombrar el menú principal del nivel 32. Y ahora te voy a enseñar una técnica muy cool para que podamos cargar todos nuestros niveles y la misma escena al mismo tiempo. hecho, la forma en que hacemos eso es muy sencilla, pero hay que tener mucho cuidado al hacer eso. Entonces lo primero que haces es simplemente hacer clic en el nivel dos y arrástrelo. Y ahora tienes dos niveles y en realidad también puedes seguir adelante y arrastrar el menú principal. Por lo que ahora tienes tres niveles en la misma escena en que ahora mismo están encima uno del otro. Entonces, ¿cómo los deshacemos? Para ello,
tienes que seleccionar todo y me refiero a todo y tienes
que asegurarte de que todo en tu jerarquía esté seleccionado para eso, por ejemplo, para el menú principal, simplemente haz click en esta flecha. Si no lo ves, haz click en la w o haz clic aquí arriba y arrástrala hacia la izquierda o hacia la derecha. Depende de cómo quieras hacerlo. Pero para mí, por ejemplo, quiero que el menú principal esté a la izquierda. Y luego seguir adelante y hacer lo mismo para el nivel dos. Entonces estoy sosteniendo Shift y estoy presionando el último
aquí mismo y arrastrando todo a la derecha. De acuerdo, así que ahora como puedes ver, tenemos a estos tres niveles Simon presentes simultáneamente en una escena. Ahora bien, ¿por qué es útil esto? Si bien, digamos por ejemplo, se quiere hacer una serie de niveles. Podemos ponerlos uno al lado del otro y ver cómo fluyen y cómo se ven desde el exterior. Ese E1 es más grande, uno es más oscuro más brillante, uno es más dimmer, sea lo que sea. Y otro buen beneficio para ello. A lo mejor quieres crear un gran nivel gigante. Y ese gran nivel gigante es una serie de pequeños niveles. Para que puedas seguir adelante y alejar y crear todos esos niveles y ver cada uno de ellos y conectarlos de la manera que quieras conectarlos. Entonces lo siguiente que haremos es ver cómo funcionan cada uno de estos. Porque ahora si hacemos click en jugar. Ok, entonces espera a que eso se cargue. Ni siquiera sabemos en qué escena estamos tocando. Y si volvemos, podemos ver que hemos estado tocando en las tres escenas. Ok, entonces salgamos del molde de juego. Entonces lo que puedes hacer, en realidad
puedes ir, vamos a guardar todo eso. lo que en realidad puedes ir, Por ejemplo, en el nivel dos, a la derecha, el click en él y puedes descargar la escena. Y de esa manera ya no está cargada. Y por ejemplo, se puede descargar la escena de nivel uno. Y ahora cuando hagas click en play, solo
estarás jugando en el modo de menú principal. O sea, Nivel Menú Principal. ¿ Qué más podemos hacer? Y aquí, creo que es hora de hacer el nivel manual principal. Entonces en Menú Principal, no
vamos a tener bonos, no
vamos a tener un enemigo. Y las cámaras impulsadas por el estado simplemente se apagarán. ¿ Por qué es eso? Bueno, ahora te enterarás porque vamos a llevarnos a nuestro jugador, ponerlo aquí, y el Menú Principal no tendrá nada sobre él. Entonces voy a quitar todo esto. Y el menú principal sólo tendrá estas drapes aquí mismo y esta pequeña columna. Y será un nivel de experimentación para el jugador simplemente correr y saltar. Y eso es todo. Entonces haz un nivel, estoy de acuerdo. Crearé un nivel en unos 30 segundos usando, por
supuesto, la magia de la edición. Entonces nos vemos en un rato. Ah, K. Así que bienvenido de nuevo. Entonces como pueden ver, he construido este nivel muy rápidamente. He cometido un par de errores y no hay nada de fantasía en ello. O jugador simplemente se mueve y salta y nada muy emocionante, pero este es el nivel del Menú Principal. Entonces ahora lo que vamos a hacer es que te voy a emitir un reto. Y ese reto es hacer tres niveles. Por lo que necesitarás crear, primer lugar, un menú principal. Puedes hacerlo igual que yo. Se puede hacer diferente. Se pueden quitar las drapes, tal vez sólo para que nuestro jugador aprenda a caminar y saltar y correr. Y el otro es crear un nivel uno que ya tienes. Puedes ajustarlo, puedes hacerlo diferente. Y por último, necesitas crear un nivel dos. Y ese nivel final será de tu propio diseño. No te estaré mostrando lo que estoy haciendo porque quiero zapato para crear uno. Sólo te mostraré el producto final. Y a continuación, debes tener en cuenta que necesitas hacer que la progresión sea lógica entre niveles. Por lo que no quieres hacer el nivel mucho más fácil que nivel uno porque eso no sentirá muy progresión. El jugador que está jugando tu juego no sentirá la progresión. No sentirá el sentido de logro de que está en un segundo y más duro nivel. Así que asegúrate de agregar más variedad en tu segundo nivel y así sucesivamente, así sucesivamente y así sucesivamente. Y por último, es necesario determinar dónde debe estar el punto final de cada nivel. Por lo que no quieres que tu jugador simplemente camine sin rumbo en el mundo. Necesitas saber cuál es el punto al que necesita llegar para completar el nivel? Así que pausa el video ahora mismo y sigue adelante y crea dos niveles más. Así que bienvenido de nuevo. ¿ Cómo creaste tus niveles? Espero que te hayas divertido tanto como yo. Entonces este es nuestro menú principal, por lo que seleccionamos para King, nunca hagas eso. Seleccionamos todos los componentes en él. Y vamos a arrastrarlo hasta aquí. Y como pueden ver, todavía
tenemos nuestro mundo confinado. Para que podamos editar eso y hacerla más pequeña. Podemos incluso borrarlo, pero ni siquiera importa. Entonces hagámoslo así, hazlo más pequeño. Y déjame mostrarte mis segundos niveles. Entonces como puedes ver, yo también he creado mi nivel. Todavía no agregué enemigos ni bombas, así que los añadiré más adelante. Pero déjame solo mostrarte lo que he creado. Y esto es, estos son mis jugadores para que lo pueda caminar. Por lo que arranca del nivel justo aquí. Él salta hacia abajo. Tal vez tenga un enemigo aquí mismo con algunos, tal vez un bache y una bomba aquí mismo. Por lo que el jugador necesita saltar. Aquí hay una bomba, hay un enemigo justo aquí, así que necesita saltar rápidamente a esta plataforma. Y luego camina, camina, camina, y luego salta aquí abajo. A lo mejor hay un enemigo al que necesita matar. Entonces salta aquí mismo, hay un lazo, aquí mismo habrá una bomba. Salta, agarra las cortinas y empieza a escalar por su vida. Entonces mientras que mi jugador, bien, empieza a escalar y escalar y escalar. Aquí tendrá algún tipo de diamante y tal vez tres diamantes aquí protegidos por un pico NME esperándolo. Entonces seguimos escalando, Wikis siguen subiendo. Y finalmente llegamos a esta plataforma aquí mismo. Y habrá el destino al que el jugador necesita llegar. Y este es mi nivel. Entonces no olvides si has creado tu segundo nivel. No te olvides de hacer que el quiródromo sea el mundo confinado ahí. Como puedes ver, no es perfecto por ningún medio, pero funciona. Lo he probado y funciona perfectamente bien. Por lo que espero que disfrutes creando tu segundo nivel y Menú Principal. ¿ Y qué más debemos hacer? Bueno, por fin deberíamos hablar de algo muy importante, que es el diseño de nivel. Y es muy, muy crucial que entiendas el flujo. Entonces, por ejemplo, aquí mismo, no
hay nada demasiado elegante. Bueno, esta semana vamos a dar mucho pensamiento al nivel uno, pero como puedes ver aquí, tal vez deberíamos haber quitado toda la capacidad de escalada y tal vez no añadir bombas, por ejemplo. Y luego en el segundo nivel agregamos bombas y tal vez en el tercer nivel agregamos bombas y enemigos. Y tal vez podrías conseguir para, quiero decir, así que cada nivel debería tener su propio estilo. Entonces tal vez más adelante puedas hacer plataformas que sean invisibles. A lo mejor puedes hacer niveles oscuros y etcétera, etcétera. Pero por ahora, terminamos el video. Espero que lo hayan disfrutado. Espero que hayas pensado mucho a tu nivel porque es la parte más divertida de crear juegos. Es la esencia de la plataforma 2D, así que te veré en el siguiente video.
41. Puerta de salida: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y en este realmente estamos poniendo a reunir
nuestro juego porque ahora no sólo matamos enemigos, no sólo explotamos, sino que también tenemos un idiota. Bueno, no es sólo adorar, en realidad
se abre. Y si nos acercamos y hacemos click en la w, se cierra y en realidad vamos al siguiente nivel, como se puede ver aquí mismo, tenemos un nivel dos. Y en nuestra escena, si nos
alejamos, en realidad hemos ido al segundo nivel, que es muy emocionante y muy cool y realmente da autenticidad al trabajo. Entonces no perdamos más tiempo y llevemos a nuestro conquistador a una aventura ocho. De acuerdo, entonces lo primero que necesitaremos es que vamos a tener que entrar en este nivel dos y poner a nuestro jugador aquí como la posición inicial. Y lo siguiente que vamos a hacer, vamos a ir al nivel uno, ver lo útil que es esto y vamos a fijar su posición, pienso justo aquí. Y eso debería estar bien. Entonces guarde todo eso. Y ahora sigamos adelante y descarguemos las escenas. Entonces descargaremos el nivel dos y lo retiraremos. Después descargaremos el menú principal y eliminaremos escena. Guarde eso. Y lo siguiente que vamos a hacer es que necesitaremos visualizar nuestra salida de nivel. Y la forma en que vamos a hacer eso es agregando sprites. Y antes de hacer eso, vamos a crear una carpeta. Tan divertido. Así que adelante y nombra esta puerta. Ahora, entra a los recursos y ve y consigue todos estos sprites que te he amado ahí. Así que adelante y ponlos dentro de puerta. Y ahora vamos a rebanar a esos bebés. Haremos este 32 y lo haremos múltiple,
y lo aplicaremos e iremos al editor sprite, rebanamos eso. Está perfectamente bien como está. Por lo que es 46 por 56. Aplica eso. Entra a la apertura. En realidad tenemos sprites de apertura y sprites de cierre. Entonces haz que este 32 múltiple aplique, deshaciendo esto muy rápido porque creo que ya sabes hacer todo eso. Entonces cuadrícula por tamaño
de celda, lo mucho que fue que es 48 por 56. No, no se usa una calculadora. Nuestra confiable calculadora clasifica a 30 dividido por 12345 y obtenemos 46 o 4646 por 56 mentiras que arriba. A continuación, sigamos adelante y rebanamos nuestro mientras cerramos. Entonces vamos a seguir adelante y hacer este 30 para hacer este múltiple aplicar todo eso consiguió el render sprite y rebanarlo hacia arriba, Aplicar. Y ahora tenemos un cierre y apertura. Y entonces, ¿qué vamos a hacer ahora? Bueno, vamos a crear un objeto, y ese objeto se va a restablecer. Y se va a llamar la puerta de salida, que es el nombre de nuestro video. Genial, ¿no? Lo siguiente que haremos es agregar un renderizador sprite y lo agregaremos. Un sprite por defecto, que creo que será la puerta ociosa. Y como pueden ver, no podemos verlo en el exterior del reino de nuestro mundo. Por lo que para arreglar eso, tendremos que crear capas y adelante, pausar el video y crear esas capas. No. De acuerdo, así que sigamos adelante y agreguemos capas. primera hora añadiremos una capa, no una capa de clasificación, porque la usaremos más adelante. Y nos llaman la cazadora en tercer dobles o simplemente interactable. Está bien. ¿ Escribí interactable correctamente? Entonces copiaremos eso y agregaremos un renderizado de la capa de clasificación B frente al primer plano. Y creo que frente a la bomba o no frente a la bomba. De todos modos, no importa. Hagámoslo Frente a primer plano. Y eso lo ahorraremos. Volvamos atrás y a la puerta de salida, que
sea una interactable y es capa de clasificación también será la interactable. Y ahora tenemos una puerta Ku. La próxima vez que vamos a hacer es crear la animación. Entonces, entremos a la animación y hagamos la mejor parte de todas. Y ahora volvemos a la puerta y crearemos la animación de cierre. Así que crea un cierre de animación y creará también el inactivo. Entonces es una animación de un solo sprite. Inactivo, no hay necesidad de llamar al ralentí. Ya sabemos qué es eso. Y finalmente la apertura. Y sigamos adelante y creemos la apertura. Oh, bien, genial. Así que sigamos adelante y pinchemos en todos esos y arrástralos a la animación. Y los tomaremos de nuevo. Y los arrastraremos a la puerta. Lo siguiente que haremos es crear el animador. Entonces controlador animador, llamaremos a esta puerta de salida. Y fuera de nuestro animador, lo
primero arrastrará el animador y hasta la puerta de salida. Y ahora si hacemos click en puerta de salida, tenemos un componente Animator que se ha agregado automáticamente con puerta de salida en él. Entonces ahora qué, ¿qué debemos hacer en nuestro animador? En primer lugar, vamos a cerrar nuestra práctica calculadora y entrar en animador, calculadora de
animadores, todo dentro de R. Así que ahora vamos a añadir inactivo. Por lo que la puerta estará inactiva cuando empecemos ganancia. A continuación, agregaremos la apertura de la puerta y luego la puerta se cerrará porque
nunca he visto honestamente nunca una puerta que se cierre antes de que esté abierta. Esa es una mala broma. Y ahora necesitamos crear las transiciones. Entonces haremos una transición de ídolo y a abrir, y luego de abrir y cerrar. Y ahora vamos a añadir parámetros para mantenerlos en jaque. Entonces sigamos adelante y añadamos un parámetro que será un gatillo, que abrirá la puerta. Y vamos a añadir un parámetro, me refiero a un gatillo o un parámetro de gatillo que cerrará la puerta. Y sigamos adelante y eliminemos la duración de transición, eliminaremos el tiempo de salida y añadiremos una condición la cual se abre que va de inactivo a apertura. Y luego en la transición de apertura a cierre, también
eliminaremos la duración de la transición, quitaremos el tiempo de salida y el gatillo de cierre. Guarda todo eso. Y ahora tendremos que encontrar la manera de cambiar esos desencadenantes o atleta,
o lo que quiero decir es desencadenado esos desencadenantes. Y eso significa cambiar el comportamiento y eso significa codificar calico. Y ahora vamos a añadir un componente. Llamaremos a esta puerta de salida. Adelante y crea un nuevo guión y crea y en, y esperaremos la unidad para entender cuál. Espéralo. Está bien, genial. Ahora la unidad está lista para nuestra codificación. Entonces sigamos adelante y agregamos puerta de salida a los guiones. Y desde guiones, si hacemos doble clic en quién accederemos a la puerta de salida. Y ahora Visual Studio está abriendo. Entonces, ¿qué debemos hacer ahora? Bueno, ¿cuál es el punto de nuestra puerta? Bueno, es la puerta de salida, como sugiere. Entonces lo que queremos es cada vez que nos acercamos a la puerta, queremos que esa puerta se abra. Y si hacemos clic en un botón determinado, queremos que se cierre la puerta y queremos ir al siguiente nivel después de unos dos segundos. Entonces, ¿cómo vamos a hacer eso? Bueno, empecemos primero creando una forma para que abramos la puerta. Y la forma en que vamos a hacer eso es usar la entrada On Trigger. Entonces lo primero que haremos es añadir un colisionador de cajas a nuestra puerta y sigamos adelante a ver si ese colisionador de cajas. Sí, creo que está perfectamente bien. Y porque estamos usando el emprendedor enter hará de esto un disparador. Guarde eso. Y antes de irnos, quiero asegurarme de que algo sea que sólo queremos que esta puerta interactúe con jugador. Por lo que el desde el gestor de entrada seguirá adelante y entrará en física. Y aquí tenemos las burbujas de interacción y nuestra matriz de colisión de capas. Entonces sigamos adelante y apaguemos todo excepto lo interactable entre el jugador. Oh, bien, genial. Y ahora vayamos a nuestro código y empecemos a codificar, que es mi parte favorita después de crear carpetas. Entonces estamos en Visual Studio. No necesitamos el inicio y la actualización por ahora. Si los vamos a necesitar, los crearemos. Lo que necesitamos es un On Trigger enter to d. Y por ahora simplemente en azúcar entrar 2D, estableceremos la animación de apertura. Entonces no necesitará una referencia a nuestro animador porque no lo hará, no lo
estaremos usando tanto. Entonces simplemente irá adelante y obtendrá el componente, obtendrá el animador, y simplemente establecerá el gatillo, set. El gatillo, y ese gatillo estará abierto y es una referencia de cadena. Entonces copiaremos eso, lo
pondremos dentro de aquí, y lo guardaremos. Y sigamos adelante y demos la demostración. Ver ese trabajo. Por lo que nuestro jugador se mueve. De acuerdo, apenas golpea y ahora la puerta se abre, pero bien, así que un pequeño problema, tenemos que renderizar la puerta detrás del jugador. Entonces volvamos atrás y a las capas en el inspector. Ve a agregar capa, revisaremos las capas de clasificación y haremos, mientras que lo interactable lo hará renderizar detrás del jugador. Guarda eso otra vez. Y vamos a ver. Haga clic en jugar. Y ahora corremos hacia la puerta, se abre y se mantiene abierta. Y está bien. Pensé que algo andaba mal pero porque estamos tocando la escalada. Está bien. No no se preocupe. Por lo que la puerta se abre ahora necesitamos una manera de cerrar la puerta de nuevo. Y la forma en que vamos a hacer eso es creando otro método. Y ese método se va a llamar Evitar amin público, quiero decir, perdón, público. ¿ Por qué público? Lo sabremos en tan solo un minuto. Empezar a iniciar sesión siguiente nivel. Y por qué creamos esta función antes que nosotros, hagamos esto un poco e iniciemos sesión siguiente nivel. Está bien, genial. Entonces ahora lo que queremos es que queremos crear una función o un método que primero cerrará la puerta. Y segundo de todo, queríamos llevarnos al siguiente nivel. Por lo que necesitaremos usar algo llamado visto Manager. Y aprenderás sobre ver Manchú en este momento y necesitarás construir nuestras escenas. Dependiendo de los niveles. ¿ Y qué más debemos hacer? Bueno, tendremos que averiguar en qué senior at, y tendremos que ir al siguiente. Entonces lo primero que haremos es poner el gatillo para cerrar. Entonces animador, y vamos a seguir adelante y poner el gatillo para que se cierre. Ok, nunca hagas eso. Vamos a seguir adelante y copiarlo. Está bien. Cerrar. Es bastante fácil, así que está cerca. Por lo que ahora se cierra la puerta. Y lo siguiente que queremos, como ya he dicho, queremos ir al siguiente nivel, pero no de inmediato. Nosotros queremos ir después, creo que quizá dos segundos. Entonces eso significa que vamos a crear una co-rutina. Entonces comienza a recubrir. ¿ Y cuál debe el nombre del método B? Y vamos a seguir adelante y crearlo. Va a ser un enumerador de ojos. Soy bastante divertido. Estoy bastante seguro de que están familiarizados con nuestros enumeradores y corutines, y llamaremos a esta carga siguiente nivel. Y por supuesto vamos a ceder retorno. Nuevo, espera cuatro segundos. Y en lugar de simplemente escribir dos aquí crearemos una variable que podamos editar en realidad lo convertirá en un campo serializado. Y llamaremos a esta carga segura. Y llamaremos a este segundo demasiado bajo. Y lo haremos dos. Y esta es una forma mucho mejor que simplemente agregar un número aleatorio justo aquí porque nos da la capacidad de controlar lo que estamos haciendo. Y por último, ¿vamos a hacer qué? En primer lugar, sigamos adelante y sumamos la carga siguiente nivel aquí mismo para evitar cualquier error. Y ahora, ¿qué debemos hacer? Bueno, primero, déjame enseñarte a construir los niveles uno tras otro. Así que vuelve a Unity, ve a Archivo y haz clic en Configuración de compilación. Y ahora los ajustes de asentamiento incorporados, como pueden ver, tenemos estas escenas en construidas. Y en realidad aquí es donde construyes tu juego y puedes cambiar la plataforma que estarás usando. Por eso estábamos usando multiplataforma en realidad, porque ahora puedes construir para una PS4, puedes construirlo para una Xbox one, o Android o iOS, cualquier cosa que tu corazón desee. Y por ahora, sigámoslo en este. Y aquí es donde agregamos estas escenas. Y como pueden ver, sólo tenemos una escena en este momento en nuestro juego. Y agregar escenas es bastante simple. Entramos en nuestra carpeta de escenas y simplemente arrastramos las escenas que queremos. Y las agregarás en función de cómo quieres que fluya tu juego. Entonces no estarás poniendo el nivel dos por encima del Nivel uno porque van, como puedes ver aquí mismo, están en una matriz o tienen índices que irán desde 012. Ok, entonces ahora hemos puesto nuestras escenas en un índice de compilación y simplemente podemos salir de eso. Y ahora volvamos a Visual Studio y aprendamos un par de manejo del pecado. Lo primero que necesitaremos, como lo hemos dicho antes, como lo he hecho, como lo hemos hecho antes, hemos usado cuando queríamos usar la plataforma cruzada con le dijo que estamos usando los activos estándar Stan, Unity, el gestor multiplataforma, y hará lo mismo cuando queramos decirle que queremos estar usando la gestión vista. Entonces sigamos adelante y agreguemos eso. Y estos se llaman espacios de nombres. No estoy seguro si te lo he dicho antes. Por lo que es Unity motor dot visto gestión. Entonces ahora realmente podemos crecer, pasar de una escena a otra. Y la forma en que vamos a hacer eso es antes que nada, vamos a conseguir nuestra moneda. Entonces, ¿dónde estamos parados actualmente? Entonces va a ser una variable, y cuando no estás seguro de qué tipo de variable va a ser, simplemente
puedes escribir. Var. Y eso será, bueno, TI cambiará dependiendo de qué variable se le dé. Entonces var, vamos a llamar a este índice visto actual. Y va a ser igual al directivo superior. Ok, punto ponerse activo visto. Por lo que esto nos conseguirá la escena activa actual. Y no sólo eso, sino que también tendremos que ir a conseguir el índice de compilación. Entonces, ¿qué estamos haciendo aquí? Déjame contártelo una vez más. Creamos una variable y la llamamos var porque no estamos seguros de qué vamos a conseguir. Vamos a conseguir un entero, pero tal vez no estamos seguros, así que podemos llamarlo vd. Entonces tenemos el nombre que es la moneda en índice. Y podemos obtener el índice de escenas actuales mediante el uso del Gestor de Escenas, que ahora podemos acceder porque hemos agregado el espacio de nombres de usar el motor de unidad,
utilizando el gestor de escenas del motor Unity. Después vamos a conseguir la escena activa y obtenemos su índice de compilación. Entonces ahora, por esta variable, sabemos en qué escena estamos residiendo. Lo siguiente que vamos a hacer justo después de eso es que vamos a cargar la siguiente escena. Y la forma en que hacemos eso es usar al gerente de escena. Simplemente escribimos escena lope. Y dentro de aquí se puede ver que nos da el índice construido de escena. Entonces nos pregunta a qué escena te gustaría ir a continuación? Y a lo siguiente que queremos ir es a la escena actual. Entonces es el índice de escena actual más uno. Y esto nos llevará al siguiente nivel. Entonces todo debería estar funcionando bien. Lo probaremos más adelante. Pero lo que tienes que hacer en este momento es que tienes que hacer el reto. Y tu reto va a ser acceder al inicio de carga siguiente nivel, que es una puerta de salida de los guiones de jugador. que usualmente usamos el script del jugador para acceder al método de nivel de carga usando una determinada clave o el botón get down o puedes hacer lo que quieras. Por lo que una pequeña pista, debes asegurarte de que accedemos solo cuando estamos tocando lo interactable. Por lo que debes asegurarte de que estamos tocando la puerta antes de ir a buscarla. Y necesitarás usar buscar objetos de tipo, que es algo nuevo. Nunca lo hemos cubierto. Y estoy seguro de que puedes ir a investigarlo. Hay muchas documentaciones al respecto, y es bastante fácil. No es tan complicado. Así que pausa el video ahora mismo y sigue adelante y trata de hacer el reto. O K. ¿Cómo te llevaste con eso? Y espero que no fuera demasiado duro y espero que hayas intentado lo mejor de ti como siempre. Entonces vamos a entrar a nuestros jugadores corruptos y aquí adentro que suban a la actualización. Y sigamos adelante y creemos un nivel de salida. Y este será un nuevo método que extraeremos. Entonces sigamos adelante y generemos esto. Nosotros, no creo que tengamos que ponerlo aquí arriba, pero por ahora, vamos a mantenerlo aquí arriba. Entonces lo primero que tendremos que asegurarnos es que necesitamos asegurarnos de que en
realidad esté tocando lo interactable antes de que hagamos algo. Entonces si y si nuestro Colisionador de Caja 2D, espera, nope. ¿ Por qué cometo ese error? My Box Collider 2D dot está tocando capas. ¿ Y qué capas son esas? Bueno, ellos son los interactables. Entonces vamos a copiar ese back end a Unity y vamos a basar eso. Y oh, tenemos que añadir una Máscara de Capa a eso. Así que haga clic en el espacio o Máscara de capa, punto get Máscara. Y ahora dentro de estos corchetes podemos realmente pegar eso. Ah, está bien. Y lo cerraremos, pero no, no, por ahora no. En primer lugar tendremos que negar toda la declaración. Entonces si no estamos tocando lo interactable, en realidad
accederemos a esta condición si y volveremos, que simplemente saldrá de este método y no hará nada. ¿ Qué nos está diciendo esto algo anda mal? Nos está diciendo que tenemos, vale, así que necesito otro paréntesis y todo está bien. Lo siguiente que tendremos que hacer es utilizar la entrada multiplataforma. Entonces, si el gestor de entrada de plataforma cruzada dot get button down, ahora puedes usar algo diferente a conseguir abotonado hacia abajo. A lo mejor quieres usar los ejes, pero no lo recomiendo. Entonces usaremos el botón get down por ahora. ¿ Y qué debemos agregar a este nombre de cadena? Bueno, creo que siento que me gustaría usar las entradas de la vertical. Entonces cuando nosotros, cuando abrimos la puerta, realidad
podemos presionar sobre w o nosotros para salir del nivel. Y creo que es una buena manera. Entonces sigamos adelante y elijamos vertical.
42. Menú principal y nivel de éxito: Bienvenido de nuevo, mis desarrolladores de juegos favoritos. En este video, vamos a crear un menú principal y vamos a crear un nivel de éxito. Entonces, ¿qué son esos? Por lo que el nivel de éxito, como se puede ver, es un nivel extraño. Si entramos en ello, podemos ver que tenemos un mensaje de felicitación
ganador, ganador, y podemos saltar aquí mismo. Y tenemos este botón de menú principal que resalta cada vez que lo repasas. Y si hacemos click en
él, nos lleva al menú principal en la parte inferior nos dijo, y ahora también podemos tener, también
tenemos este botón Start Game, que si damos click nos llevará a nuestro primer nivel y a la puerta nos lleva al nivel dos y así sucesivamente y así sucesivamente. Por lo que estoy muy emocionado por este video. Espero, espero que tú también lo estés, y te veré en un o, kay, así que lo primero que haremos es entrar
al menú principal y sigamos adelante y pinchemos en nuestro jugador. Entonces como puedes ver en este momento, nuestra cámara, que está justo aquí, si haces doble clic en ella, está justo aquí. Nuestro lienzo está justo aquí, y eso es resultado de nosotros y moverlo en el video anterior. Así que vamos a dar click en nuestro mapa de jugador y azulejo y hacer clic en w y mover eso de nuevo a nuestra vista aquí mismo. Entonces veamos volver a la cámara, y hagámosla un poco más grande. Por lo que vamos a aumentar el tamaño de cuatro a aproximadamente yea grande, que es lo suficientemente bueno. Hagámoslo un poco más grande. Y está bien, entonces creo que eso es perfecto. Cou, vamos a subir un poco esto. De acuerdo, guarde eso. Y ahora sigamos adelante y creemos un botón. Entonces, ¿cómo creamos un botón? Si bien es bastante simple, simplemente
hacemos clic derecho aquí. En nuestra jerarquía, ve a U i, y elige el botón que está justo aquí. Entonces como puedes ver en este momento, algo muy enorme se ha creado justo al lado de nosotros. Y si hacemos doble clic en botón, podemos ver que es algún enorme botón gigante y es parte del lienzo aún más grande. Si has notado algo llamado Canvas acaba de ser creado, que alberga el botón y que tiene un texto en él, y un sistema de eventos. Entonces, ¿qué son todas estas cosas? Entonces el lienzo es en realidad lo que sostiene, todo lo que queremos imprimir en nuestra pantalla. Por lo que el Canvas sostiene el botón, texto y cualquier otra interfaz de usuario que tengas en tu pantalla. Y se utiliza el sistema de eventos con la finalidad de comprobar cualquier clic del botón. Entonces sigamos adelante y movamos el botón aquí mismo. Y podemos mirar en realidad en nuestra vista de juego, y podemos ver que el botón está justo aquí. Entonces hagamos algo fresco y ponerlos de lado a lado. Por lo que ahora podemos ver dónde están los botones. Pero como te das cuenta, cada vez que movemos la pantalla, hazla más grande o más pequeña, el botón realmente se mueve. Y ese no es un efecto deseable. Entonces la forma en que vamos a cambiar eso, conforme entramos en el Canvas, haz click en Canvas y entra en el escalador de lona. Y en lugar de un tamaño de píxel constante, hazlo escala con el tamaño de pantalla. Entonces ahora sin embargo movemos nuestra escena, el botón se queda en su lugar. Pero como puedes ver, es un movimiento un poco raro. ¿ Y por qué es eso? Bueno, si haces click en el botón, puedes ver aquí mismo que hay muchas opciones y la más importante por ahora para la posición sabia, Es el ancla. Por lo que el ancla, como se puede ver para el botón en este momento, es el medio de la pantalla. Y lo que queríamos es estar en el centro superior de la pantalla. Por lo que ahora será más natural y dependiendo del movimiento del botón. Entonces vamos a personalizar nuestro botón y te mostraré cómo personalizarlo. Entonces haz click en el botón y como puedes ver, tenemos este rectángulo aquí dentro que nos permitirá hacer el botón más grande o más pequeño. Entonces haz click en este círculo azul justo aquí, mantén presionado Alt, y puedes hacer que el botón sea tan grande y tan pequeño como quieras. Lo siguiente que haremos, cambiaremos este botón, este texto de botón. Entonces si entramos en el botón, vamos de cabeza. ¿ Y cómo debemos llamar a esto? Inicia juego porque esto está en el menú principal. Y sigamos adelante y también llamemos a este botón Iniciar juego. De acuerdo, y llamaremos a este lienzo el OK, el Main Menu canvas Cu. Y volvamos al texto y realmente podemos cambiar la fuente del texto para que podamos hacerlo más grande. Podemos cambiar el estilo de la fuente y podemos hacerlo audaz. Y podemos seguir adelante y cambiar toda
la fuente si quieres añadir algún tipo de fuente en ella. También podemos cambiar la forma en que se renderiza el texto en el botón. Y podemos cambiar el color del texto para que lo hagamos verde, por ejemplo, pero no estaremos haciendo verde. Y también podemos cambiar cómo se ve el botón. Entonces, empecemos a personalizar nuestros botones. Entonces a primera hora tenemos el color normal. Cambiemos eso y podemos elegir un color de nuestra escena. Entonces escogeremos este color rojo o algo así. No estoy seguro. Se pueden cambiar los colores resaltados. Por lo que cuando nuestro ratón se mueva sobre este botón, se resaltará. Entonces cambiaremos eso para que sea amarillo. Seguiremos adelante y escogerá algo de coloración aquí. Por lo que este amarillo, y es muy bonito hacer que todos tus colores en la parte inferior sean los mismos que los colores en la escena, le da un look más auténtico. A continuación, tenemos el color prensado, que hará, vamos a ver ¿qué debemos hacerlo? Podemos hacer el, sí, este es un buen color. ¿ Y qué más tenemos? Podemos adivinar que es básicamente lo que va a cambiar el color del texto. Y vamos a cambiar el color porque no me gusta la asignatura estudiosa. Elegir un color puede ser, será el color de las baldosas, por ejemplo, no el bueno. Cambiemos para arriba. Otra vez. Escogeremos algún tipo de botón amarillo. De acuerdo, supongo que ya es suficiente. No tiene por qué ser perfecto. Por ahora necesita funcionar. Entonces ahora sabes agregar un botón que se restablezca
eso y elige el potente y puedes cambiar la posición de ese botón. Lo voy a poner justo aquí en la parte superior, en el medio. Entonces si entramos en modo play y esperamos a que lo entienda. Pero ahora como pueden ver, podemos dar click en el botón allá arriba mientras nos movemos en nuestra escena. En realidad, hagamos que esta vista de juego sea más grande y escale hacia abajo para que puedas ver todo. Entonces ahora tenemos un botón que podemos pasar por encima. Y creo que necesitamos cambiar el color del juego de inicio y podemos dar click a COOH. Ahora tenemos que empezar a sumar funcionalidades. Ok, entonces no queremos solo un botón ahí mismo que no haga nada. Necesitábamos realmente hacer algunas cosas. Y la forma en que vamos a agregarle cosas es, bueno, lo adivinaste vamos a agregarle un guión. Entonces si nos desplazamos hacia abajo, en realidad
podemos agregar componentes a la parte inferior. Entonces sigamos adelante y agregamos el componente, y llamaremos a este menú, y crearemos un nuevo script de menú. Así que crea y agrega y lo esperará. Y lo esperaremos. ¿ De acuerdo? Ahora entramos a los activos. Ponemos el menú dentro de los guiones. Y desde guiones, vamos a seguir adelante y vamos al menú. De acuerdo, entonces ahora tenemos un guión de menú. Eliminemos todo aquí porque no vamos a necesitar ni esto ni la actualización. De qué vamos a estar necesitando ya que vamos a necesitar este botón, como ya lo has adivinado, necesitamos, cada vez que hacemos clic en el botón, queremos iniciar el juego. Eso significa que vamos a ir al nivel uno. Y lo que eso significa es que necesitaremos cargar escenas, y eso significa que necesitaremos a nuestros gestores de escena. Entonces sigamos adelante y sumamos usando Unity engine dot sin management. Por lo que ahora podemos usar escenas. Entonces sigamos adelante y creemos nuestro primer método. Y va a ser un método muy sencillo el cual va a ser nulo. Y este método cargará el primer nivel. Ok, nada elegante. ¿ Y qué va justo dentro de ella? Simplemente trataremos de cargar el nivel uno, sea cual sea ese nivel. Por lo que necesitaremos ver a gerente punto escena vestida. Y simplemente escribiremos aquí el índice de la primera escena, que es una. De acuerdo, porque actualmente en el menú principal estamos en ver 0. Siguiente cosa. Para agregar esa funcionalidad a nuestro fondo, necesitamos volver a Unity y necesitamos hacer click en nuestro botón. Y aquí mismo puedes ver que tenemos algo llamado On Click, y actualmente la lista está vacía. Entonces vamos a dar click en el plus. Y esto va a dar una, ¿cómo debo llamarlo un, una misión para el botón cuando alguna vez semana? Entonces como puedes ver aquí mismo, necesitamos agregarle un objeto. Y ese objeto simplemente arrastrará el botón y será el juego de inicio. Y actualmente no tenemos ninguna función. Entonces si hago click en esto y entro en el menú, podemos ver justo aquí que deberíamos tener. ¿Dónde está? Me pregunto dónde está. O, de acuerdo, de acuerdo, así que necesitamos asegurarnos de que este sea un método público. Entonces guarde eso. Y ahora si volvemos a nuestro botón, deberíamos ver aquí mismo en el menú que tenemos la carga de primer nivel. Entonces guarde eso. Y entremos a la jugabilidad. Y llegaron dos modo. Y ahora podemos correr, podemos ponchar y si hacemos clic en el juego de inicio, inmediato
entramos a nuestro nivel uno. Y si pasamos por la puerta a segundos después estamos en el nivel 20, kay caret. Entonces ahora lo que necesitas hacer es completar el reto. Y tu reto va a ser crear tu nivel de éxito. Entonces usa la misma fórmula que usamos para el menú principal para crear la pantalla de éxito. Por lo que necesitarás agregar un botón y tal vez algún tipo de texto por encima de él. Y te voy a dar una pista. El único cambio que necesitas hacer es al gestor de escena carga de puntos C. Así que haz lo mismo para el nivel de éxito con su propio botón. Pero los únicos cambios van a ser dos guiones. E incluso puedes usar el menú para cargar el menú principal. Sólo cambio necesitamos estar al gestor de escena punto carga C. Así que pausa el video ahora mismo y ve a hacer el reto. Ay, kay, bienvenido de nuevo. Entonces sigamos adelante y creemos nuestro éxito Verde. Lo primero que va a entrar visto tomará el menú principal y lo vamos a duplicar. Por lo que ahora tenemos el menú principal y Menú Principal, uno que ha cambiado su nombre a nivel de éxito. Ahora tenemos un nivel de éxito. Hagamos doble clic en el nivel de éxito, y es bastante similar a nuestro menú principal, y ese es el punto. Entonces, primero que nada cambiemos el lienzo al éxito, lona nivelada. Y el botón de inicio del juego ahora será el botón Menú Principal. Porque después de terminar el juego y vamos al nivel de éxito, queremos entonces tener un botón para llevarnos de vuelta al menú principal. Y ahora sigamos adelante y textualmente, y cambiemos el texto a Menú Principal. Oh, bien, genial. No creo que necesitemos cambiar el color del botón y lo que sea lo mantendrá igual. Pero lo que estaremos haciendo es que estaremos agregando algún texto. Lo cual le dirá a nuestra capa que tiene uno. Entonces como pueden ver aquí mismo, tenemos este texto y es pequeño y aquí. Y por cierto, ¿por qué hacen que el campus sea tan grande? Bueno, no estoy seguro al 100%, vivo los recursos en la descripción para el lienzo. Pero creo que es una manera de que la unidad mantenga las cosas organizadas. Porque si tú, por ejemplo, quieres cambiar las cosas en nuestra escena aquí mismo, puede
ser un poco engorroso mover botones alrededor de ellos, poner texto en lugares, en lugares extraños. Y también es una forma para que la humanidad use medidas o algo así, pero no es tan malo,
así que no hay necesidad de preocuparse por ello. Entonces sigamos adelante y cambiemos el texto aquí mismo y llamaremos a este ganador. Ganador con dos signos de exclamación. Y hagamos esto un poco más grande y alinearemos el texto de una manera diferente, aumentará el tamaño de la fuente. Está bien, eso es demasiado grande. Y haremos que el texto de color amarillo. Entonces es como un trofeo que quieren. Y ahora lo haremos audaz. Y nos centraremos. Sabes qué, voy a hacer esto aún más grande y aumentar el tamaño de la fuente. Oh, bien, genial. Entonces ahora tenemos un ganador, ganador. Siempre que cuando una cena de pollo, si juegas Bob G. Así que ahora el texto será cuándo están gravados? No, vamos a quitar la mayúscula cuando nuestro texto. ¿ Y qué más deberíamos estar haciendo? Ah, sí, ahora tenemos que hacer que este botón del menú principal en realidad tome oh, y una cosa más, discúlpame. Entonces ¿anclará a este ganador, ganador a la cima? Correcto. De acuerdo, ¿dónde estaba yo? Ok, necesitamos agregar una funcionalidad diferente al menú principal. Entonces en lugar de llevarnos a cargar primer nivel, necesitamos ahora hacer que nos lleve a la principal. Y como les he dicho, el único cambio y esa es la carga de escena 2pi. Tan visto nivel de carga. Entonces volvamos atrás y sigamos adelante y creemos un nuevo método aquí mismo. Lo haremos público, anularemos y cargaremos el menú principal. Y lo único que va a cambiar, será lo mismo. Así que visto gestor de carga de puntos vista en este momento en lugar de uno, simplemente cargará el 0 y
guardará eso. Y otra cosa que necesitamos asegurarnos es que necesitamos al nivel de éxito a nuestro incorporado. Entonces como puedes ver, tenemos menú principal, nivel
distinto de cero uno en uno, nivel dos en dos, y ahora exitoso sea el guardar eso. Y I. Otra cosa necesitamos volver al botón Menú Principal y asegurarnos que en lugar de la función que previamente cargaba carga primer nivel, bien, primero se escribe incorrectamente. Entonces primero, Primero, espero que nadie se haya dado cuenta de que guarde eso, retroceda y debería arreglarse. No. Eso por cierto, tendremos que cambiarlo. Entonces en lugar del primer nivel de carga, tenemos que ir a Menú y tendremos que cargar Menú Principal y guardar eso. Volvamos al menú principal y asegurémonos de que todo sea correcto. Por lo que botón de inicio en el menú click. La función es cargar primer nivel, guardar eso, volver al nivel de éxito, y juguemos y veamos qué sucede. Por lo que nuestro jugador se mueve, golpea, salta, y menú principal, si hacemos clic en el botón, debería llevarnos al menú principal. Y si iniciamos el juego, empezamos en el Nivel uno. Excelente. Otra cosa que tenemos que hacer, cambiemos un poco el nivel de éxito para asegurarnos que el jugador entienda que estamos en un lugar diferente. Entonces, simplemente quitemos las sábanas aquí mismo. Y vamos a entrar en primer plano. Eso es quitar esos. Y vamos a agregarle algo fresco. Quitemos el fondo aquí. Y vamos a dar click en éste de fondo. Y dibujemos algo así. Entonces sólo un poco de fondo. Y volvamos a entrar en primer plano. Y simplemente agregaremos éste aquí mismo y éste de aquí. Y esto debería dar la sensación de ser un nivel infinito. Entonces ahora, si guardamos eso, si entramos en el modo de juego, podemos ver eso,
vale, se siente como si el juego es infinito y si saltamos aquí, podemos irnos, lo cual es muy guay. Y si quieres jugar con cosas, enrealidad
puedes hacer, realidad
puedes hacer, agregar un colisionador de caja a este botón y el jugador puede pararse en el botón y luego hacer clic en Menú Principal y luego iniciar el juego y luego jugar el juego. Entonces espero que hayan disfrutado el video. No fue un video muy duro, es fácil, solo se trata de UI. Puedes seguir adelante y experimentar y agregar lo que quieras. Así que diviértete, y te veré en el siguiente video.
43. Sesión del juego: Vuelve mis desarrolladores de juegos favoritos a un video completamente nuevo. Y en éste hemos sumado presión. Entonces, ¿qué quiero decir con presión? Nos han golpeado varias veces y no morimos. Pero ahora, como pueden ver, nos golpean una vez. Si tratamos de hacerlo de nuevo, nos dan dos golpes. Si tratamos de volver a hacer eso, la tercera vez estamos de vuelta al menú principal, por lo que ya no tenemos vidas infinitas. Y eso pone bajo presión al jugador, quien esté jugando tu juego. Entonces, saltemos y empecemos. De acuerdo, entonces queremos empezar a manejar nuestras vidas conquistadoras. Entonces lo que vamos a hacer es que nuestro conquistador tiene un cierto número de vidas. Y cuando alguna vez lo golpean, pierde vivo. Y eventualmente cuando no le queden vidas, reiniciaremos el juego desde el menú principal. Por lo que actualmente si nos golpean 100 veces, seguiremos jugando, lo cual no es muy bueno porque
no hay consecuencias para conseguirlo y elimina toda presión del jugador, lo cual en realidad es malo, lo creas o no. lo que podría estar preguntándose, ¿por qué no simplemente usar jugador y por qué necesitamos algo llamado sesión de juego? Bueno, al ir de escena en escena, nuestro jugador está reinstanciado y todo lo demás con él. Eso significa que todos los avances en jugador y otros objetos se han ido. El problema que tenemos es que cada vez que pasamos de una escena a otra, por ejemplo, del nivel uno al nivel dos, todos los objetos del juego son reinstanciados. Entonces si vive, se almacenan en el jugador o el marcador, que es mucho más importante, se almacenan en el jugador o cualquier otro objeto del juego. Ese jugador es reinstanciado y todo el progreso en este jugador se restablece. Entonces por ejemplo, si nuestro jugador tiene 400 marcador o tiene tres vidas y pierde dos de ellas al entrar en la siguiente escena, o el nivel a sus vidas se restablecen a tres, lo cual no es bueno, y su marcador vuelve a 0, que también es muy malo porque queremos que sume niveles. Es decir, sumar el puntaje de nivel a nivel. Por lo que nuestro objetivo es mantener las vidas de capas y anotar de una escena a la siguiente escena consistentes. Y lo estamos haciendo usando algo llamado el objeto de sesión del juego que mantendrá todos los datos persistentes en él, como Vidas y puntuación, que estaremos agregando más adelante, y etcétera. Entonces sigamos adelante y creemos una sesión de juego. Y en realidad es extremadamente simple. Simplemente vamos a crear un objeto de juego. Vamos a restablecerlo, su posición, y vamos a llamar a esto la sesión de ganancia. De acuerdo, lo siguiente que haremos es agregar un guión que se ganará sesión, y se va a llamar sesión de juego. Así que adelante y crea y agrega eso. Genial. Entonces ahora tenemos la sesión de juego justo aquí en nuestros activos. Arrástralo y ponlo en scripts. Y vamos a seguir adelante y abrirla en Visual Studio. Haga doble clic en sesión de juego, y ahora tenemos el guión de sesión de juego. ¿ Qué vamos a hacer primero con nuestro guión de sesión de juego? Bueno, lo primero que haremos es eliminar el inicio y actualizarlo porque no los necesitaremos. Y en realidad vamos a añadir un método con el que
no estamos muy familiarizados porque no lo hemos hecho ya o antes, que se llama Awake. Y lo que es despierto,
es un método que comienza incluso antes de que comience el método de inicio. Entonces como te he enseñado en los videos anteriores y las intros y un nuestro Cubo de Juego mágico, el método de inicio es el primer método que se ejecuta. Pero el despierto, algo que bien empieza antes del inicio. Entonces es lo primero que ejecuta, o el primer código que se ejecuta en todo el script está dentro del método despierto. ¿ Y por qué necesitamos despiertos? Bueno, porque vamos a crear un patrón singleton. Eso significa que si ya existe una sesión de juego, cada vez que se instancia una nueva, se destruye a sí misma. De esa manera no se instanciará y se mantendrá persistente a lo largo de todos los niveles. A lo que me refiero con eso es que cada vez que entremos a otro nivel, este guión de sesión de juego buscará todas las demás sesiones de juegos dentro de la siguiente escena. Si encuentra una sesión de juego, destruirá y se mantendrá persistente. Y vamos a seguir adelante y crear este patrón singleton y ya verás a qué me refiero. Entonces lo primero que necesitamos hacer es encontrar todas las sesiones de juego en esta escena cada vez que despertemos. Por lo que crearemos un entero, que será el número de sesiones de juego. Y este será el hallazgo de objetos. De acuerdo, entonces objetos de tipo ganancia sesión. Y debido a que este es un entero, será la longitud. Por lo que se trata de objetos de juego finos de tipo con los que estás bastante familiarizado. Por ahora. Lo hemos hecho en videos anteriores. Busca objetos de tipo sesión de juego, y comprueba la longitud porque estamos buscando objetos. Entonces ahora tenemos la longitud. Lo siguiente que haremos es que tendremos que comprobar si este número de sesiones de juegos, Número de sesiones de juego es mayor que uno. Eso significa que si tenemos más de una sesión de juego, que no es la actual que estamos usando, nos vamos a destruir. Por lo que eso significa destruir objeto de juego. De lo contrario. Si no tenemos ninguna sesión de juegos nuevos, usaremos algo llamado no destruir en carga y el objeto del juego. Ok, entonces qué, esto se llama el patrón singleton, y es bastante fácil. Entonces lo primero que revisamos para los objetos. Si tenemos objetos de tipo sesión
de juego, claro, entonces si tenemos más de uno. Lo vamos a destruir, de lo contrario, no lo
vamos a destruir y vamos a mantener persistente la sesión de juego. Y nosotros, y si tiene partituras o vidas, pasarán de un nivel o de una escena a la siguiente. Está bien, genial. Entonces lo que necesitamos crear dentro de la sesión de juego, ya que necesitaremos crear las vidas del jugador. Es decir, vamos a procesar la muerte de los jugadores. Entonces sigamos adelante y hagamos eso usando un público. Y porque se va a utilizar de diferentes guiones, público, vacío, proceso, jugador, muerte. Y lo siguiente que haremos es agregar una variable la cual será un campo serializado. Va a ser un entero y va a ser vidas de la capa de jugadores, y va a ser igual a tres. Entonces, ¿qué crees que tendremos que hacer dentro de los jugadores de proceso? ¿ Muerte? Bueno, tendremos que hacer dos cosas. En primer lugar, tendremos que comprobar si nuestro jugador vive es mayor que uno. Y si es mayor que uno, vamos a quitarle la vida. O quitarle la vida o la vida. Entonces vamos a quitarnos una vida. De lo contrario. Si ya no tenemos vidas de jugadores de oración, eso significa que hemos perdido a los tres. Nos pegaron tres veces. Vamos a restablecer el juego. ¿ De acuerdo? Entonces si nos golpean más de tres veces, eso significa que perdemos todos estos. Vamos a restablecer el juego y si todavía tenemos vida, así que si tenemos tres vidas, nos han golpeado una vez. Eso significa que las vidas de los jugadores serán dos, eso significa que aún somos mayores que uno y vamos a tomar una vida. Sigamos adelante y creemos ambos métodos. Entonces lo primero que haremos es generar el juego de reset y generar el método. ¿ Y qué debemos hacer dentro del juego de reset? Si bien necesitaremos llevar al jugador al menú principal, eso significa que tendremos que estar usando la gestión de gestión de Escena, manager. Por lo que el uso de Unity motor dot visto gestión. Y estamos bastante familiarizados con lo que vamos a hacer. Por lo que va a ser la escena manager dot load scene. Y como es el menú principal, va a ser 0. Y otra cosa que vamos a hacer es que vamos a destruir el objeto del juego actual. ¿Por qué es eso? Vamos a destruir la sesión de juego que estamos usando actualmente. Porque como saben, si perdemos el juego, nuestras vidas se reiniciarían, por supuesto, y también se restablecerá nuestra puntuación. Por lo que esta sesión de juego actual será destruida y crearemos un nuevo golpe de Estado. Y lo siguiente que vamos a tener toma vidas, que es tu reto. Y tu reto es terminar el método de vida de la cinta. Por lo que necesitas reducir las vidas del jugador por una. Y luego necesitarás llamar al jugador de proceso muerte desde el guión de jugador cada vez que nuestro jugador es golpeado. Así que pausa el video ahora mismo y sigue adelante y haz el Challenger. Oh, OK, bienvenido de nuevo. Entonces, ¿cómo vamos a hacer eso? En primer lugar, vamos a generar la toma de vidas y el método. Y es bastante simple porque todo lo que vamos a hacer es simplemente teclearemos aquí, jugador vive y lo hará justo al lado menos,
menos, y lo que esto lo hace. Y cada vez que se llame al método de toma vida, las vidas del jugador se reducirán en uno. Entonces cada vez que escribimos menos junto a una variable, lo reducirá en uno si es un entero y si escribimos más junto a él, así que plus, además aumentará las vidas del jugador en uno. Usaremos eso más adelante por ahora necesitamos el menos, menos. Por último, siempre que nuestro jugador sea atropellado tendrá que
llamar a las sesiones de juego, procesar la muerte del jugador. Y la forma en que vamos a hacer eso es que vamos a entrar en jugador, buscaremos el hit de jugador. Y después de desencadenar la animación y salir lastimado. O puedes ponerlo donde quieras. No importa. Encontrará objetos de juego, ganará objeto porque tendremos un objeto que es sesión de juego y arsine. Y vamos a usar el proceso de la muerte del jugador. Y esto comprobará para la sesión de juego. Encontrará la sesión de juego. Se accederá al proceso de la muerte del jugador. Y en proceso jugador sí. Revisaremos si las vidas del jugador son mayores. Entonces uno, si lo son, nos quitaremos una vida. Si no lo son, reiniciaremos el juego y nuestro jugador volverá al menú principal. Entonces esto, hemos guardado todo eso. Volvamos a nuestra ganancia de unidad. Guarda todo eso. En sesión de juego tenemos vidas de jugadores, así que vamos a dar click en jugar y ver qué pasa. Entonces nuestro Cerdo está corriendo, vamos y nos peguen una vez. Por lo que vive jugador es aún mayor que uno. Nos golpean dos veces. Nuestro jugador vive es una y última vez que nos golpean. Y vamos a estar en la escena del menú principal. Excelente, por lo que todo funciona bien. Espero que haya disfrutado el video. Espero que no te haya encontrado eso demasiado complicado, sobre todo si eres nuevo en el patrón Singleton. De todas formas, espero que lo disfruten de nuevo y te veré en el próximo. Una cosa más que tenemos que hacer para
demostrar que nuestra sesión de ganancias es persistente de escena en escena, es que necesitaremos ver si nuestras vidas mienten de jugador realmente cambian. Si vamos a otro nivel. Para poder hacer eso, tendremos que añadir una sesión de juego al nivel dos. Y como sabemos, la forma más fácil de hacer eso es prefab. Así que simplemente arrástralo a la carpeta Prefabs justo aquí. Y también arrastraremos la puerta de salida porque ya estamos en las prefabs. Así que guarde eso y luego entra en escenas y comprueba el nivel dos. Haga doble clic en jugador solo verlo y vuelva a reverberaciones y ponga una sesión de juego justo aquí y el nivel para guardar eso. Entonces ahora vamos a probarlo y a ver si funcionó. Así que vuelve al nivel uno, haz doble clic en el mapa de teselas porque están en diferentes posiciones. Así que vamos a dar click en play y vamos a ver ser golpeado una vez. Y como puedes ver aquí mismo, la sesión de juego está bajo no destruir a la carga. Por lo que entiende que no debe destruirse. Entonces ahora tenemos vidas de jugador para, vayamos por la puerta al segundo nivel. Y en el nivel dos tenemos el no destruir onload venía sesión. Y como puedes ver, nuestras vidas de jugadores siguen siendo demasiado y no se han restablecido, lo cual es de suma ayuda. Y ya verás por qué cuando creamos también la partitura.
44. Pickup y diamantes: Bienvenidos de nuevo a otro video y éste, como pueden ver, tenemos diamantes y tenemos corazones. Entonces si hacemos clic en el juego, todavía
podemos caminar, podemos puñetear, pero si elegimos los diamantes y los corazones, podemos recogerlos y los diamantes en realidad están brillando. Entonces, no perdamos más tiempo y empecemos. De acuerdo, entonces lo primero que haremos es entrar a la carpeta sprites y crear una carpeta aquí mismo, que se llamará las pick ups. Ok, genial. Ahora vamos a entrar en los recursos y conseguir los grandes diamantes y chozas
grandes que te he proporcionado y guardarlos dentro de las pastillas. Lo siguiente que vamos a hacer es que vamos a rebanar los diamantes porque tenemos una animación genial sobre ellos. Entonces hagamos este 28 porque son muy pequeños, hazlo múltiple. Aplica eso, entra al modo sprite y vamos a rebanarlos. Usaremos la cuadrícula por tamaño de celda y deberían ser, creo que 18 por 1418 por 14, Sí, son 18 píxeles por 40 píxeles. Aplica que estaban perfectamente. Ahora entremos a las animaciones y también creemos una carpeta que sea copias de seguridad. Por lo que las pastillas. Y volvamos a los sprites en el, ¿dónde están las pastillas? Y sigamos adelante y creemos estas animaciones. Y esta animación es en realidad un diamante brillante. Brillante será el nombre de las animaciones. Arrástrelo en pastillas. Y a partir de aquí se creará un animador. Por lo que el controlador animador será diamante. Y dentro de este controlador animador configurará el estado brillante. ¿Correcto? Y una cosa más, tendremos que asegurarnos de que esté en looping. Guarda eso. Ahora, lo siguiente que haremos es mantener alejado al jugador de aquí, ponerlo en esta repisa. Lo siguiente que haremos es crear un objeto de juego. Por lo que el objeto de juego vacío se restablecerá y lo pondrá justo aquí, y lo llamaremos el diamante. Diamante. Espero que eso sea correcto. Lo siguiente que haremos es agregar un renderizador sprite. Entonces estás bastante familiarizado con los pasos, espero. Y dentro de las pastillas sprites, el diamante, simplemente
pongamos la primera y aún así no la vemos. ¿ Por qué es eso? Es por estas Capas de Clasificación. Y son diamantes y corazones se interactuarán burbujas. Entonces ahora los podemos ver. Y también la capa será la interactable. Por lo que la capa de clasificación y la capa física de capa será la interactable. Lo siguiente haremos y haremos esto ahora mismo para ahorrarnos mucho tiempo, simplemente
prefabricaremos el oh, antes de hacer eso, necesitamos agregar. El, Considerando que el animador a nuestro diamante. Y ahora en realidad podemos ir a la carpeta prefab y arrastrar el diamante justo aquí. Y podremos sumar a tres diamantes. Cuanta vez nosotros, cuánto desea nuestro corazón. Por lo tanto, agrega tantos diamantes como quieras a la escena. Guarda eso. Lo siguiente que haremos es que necesitemos agregar comportamiento a nuestro diamante. Entonces como saben, cuando los juegos, cada vez que
tocamos un diamante, lo recogemos y desaparece. Entonces es un guión de recogida de diamantes. Por lo que diamante pickup Script crea un nuevo guión, se llama Pickup Diamond. Y vamos a crear un anuncio. Oh, está bien, así que está listo. Vamos a entrar en activos y pongamos la camioneta de diamante dentro de los guiones, se abre. No lo necesitamos. Y sigamos adelante. En tanto que Diamante pickup doble clic y tenemos inicio y actualización. Por lo que no necesitamos que estos inicien y actualicen ahora mismo. Si los necesitamos, siempre podemos crearlos más adelante. Guarda eso y es hora de tu reto. Y tu reto es destruir el diamante. Por lo que cuando nuestro jugador toca el diamante, se destruye y se destruye de inmediato. Por lo que éste debería ser uno destruido. Por lo que el diamante se destruye inmediatamente en cuanto nuestro jugador lo toca. Entonces tengo algunas pistas, pero si te sientes lo suficientemente confiado, quiero que pausas el video ahora mismo y sigas adelante y hagas el reto. Si no, si sigues sintiendo que necesitas un poco de eventos, te lo
daré. Por lo tanto, agrega un colisionador, asegúrate de que sea un gatillo y usa el gatillo. Entra, por supuesto, entra 2D para destruir el diamante. Así que pausa el video ahora mismo tienes todas las manos y es muy fácil. Adelante y haz el reto. O kay, bienvenido de nuevo. Entonces, antes de empezar a jugar en el guión, tenemos que ir a Unidad y tendremos que entrar en el diamante. Y tendremos que añadir un componente que va a ser un colisionador de cajas a D. Y es un poco más grande de lo que necesitamos. Entonces sigamos adelante y editemos el colisionador de cajas y hagámoslo, sí, grande, esperanza. Vuelve atrás, elige Colisionador de cajas. Y hagámoslo así. A lo mejor un sí, un poco más grande para llenar todo el sprite de diamante. Entonces, ¿por qué preferimos bien, porque en este momento este diamante no tiene colisionador de caja, así que simplemente aplicaremos todo. Y ahora estos diamantes, todos ellos tienen caja llamada lidars. Una cosa más para organizar nuestra jerarquía aquí mismo y para no hacerlo mucho desordenado, creará un objeto de juego vacío y lo restableceremos y lo llamaremos las pastillas. Entonces pick ups. Y pondremos todo nuestro diamante. Y Corazones más tarde dentro de las pastillas, Qu. Entonces ahora tenemos nuestros diamantes con colisionador de caja es o en una cosa más, necesitamos que sea un gatillo. Entonces hazlo un gatillo y levantado por todos, guarda eso. Ahora de nuevo al Visual Studio. Y como les he dicho, ¿ estará usando algo llamado en qué? No. ¿ Qué es eso? Perdón por ese Visual Studio sobre azúcar, entra a D. Y es muy, muy, muy sencillo. Simplemente necesitamos destruir el objeto del juego. Entonces guarde eso de nuevo en Unidad. Buena suerte puede jugar. Y ahora, si saltamos sobre uno de estos diamantes, no desaparece. ¿ Por qué es eso? Entonces veamos cuál es el problema. Y aquí dentro destruimos cuando no somos azúcar, entra a D, Es pickups a la carta. ¿ Cuál es el problema? Oh, espera, oh Dios mío. Ni siquiera agregamos el guión. Entonces sigamos adelante y sumamos el guión desde aquí, dos diamantes. Y ahora, espero que si aplicamos todo, se aplique a todos nuestros diamantes. Ah, éste tiene tres. Deberíamos haberlo aplicado desde aquí. No se preocupe, simplemente quítelo. Y ahora si guardamos eso y hacemos click en jugar, ojalá desaparezcan. Y como pueden ver, no hay más diamantes excepto aquí. Adelante. Un diamante más. Vamos a ello y las pastillas ahora están vacías. Cooh, Ahora lo siguiente que vamos a hacer es los corazones y es tu reto. Es un reto extra descarado, es hacer exactamente lo mismo cuatro corazones. Por lo que tienes todo en tus habilidades que necesitas para completar el reto. Así que adelante y hazlo. Pausa el video. Oh, bien, así como hicimos los diamantes, estamos, vamos a hacer los corazones. Entonces veamos dónde tenemos los sprites para las pastillas. Los corazones. Van a ser 28, va a ser múltiple. Vamos a aplicar todo eso. Vamos a usar este renderizador sprite. Creo que va a ser también 18 por 14, ojalá. Sí. Es mentira que espero que hayas intentado lo mejor posible y sí reto porque es bastante fácil y lo hemos estado haciendo desde entonces. Dios sabe cuán lento, cuánto tiempo. Entonces animación. Y el corazón es, lo que deberíamos llamar a esto rebotando. Por lo que rebotando en las pastillas, foo, en las pastillas, y dentro de las pastillas, vamos a crear otro controlador animador que se llama hots. Capitaliza eso, hots. A pesar de que es de un solo calor. Tan resplandeciente, no, no brillando, rebotando dentro de corazones. Tenemos el estado rebotante. Lo siguiente que vamos a hacer es crear un vacío, no, simplemente duplicemos este diamante. Y llamaremos a este corazón o corazón. Y tenemos el mismo colisionador de cajas. Pero ahora pongámoslo aquí mismo. El renderizador sprite será un corazón. Entonces le daremos un corazón. Y va a tener, ¿qué más deberíamos tener? El animador debe ser diferente. Entonces vamos a entrar en las pastillas de la animación y darle el corazón. Animador. ¿ Qué más debemos hacer? El colisionador de cajas, creo que es perfecto. Y va a quitar el componente de recolección de diamante y vamos a añadir otro componente que va a ser el corazón. Pickups. Recoge, recoge, crea un nuevo script y crea una app. Ahora, asegúrate de no aplicar eso porque necesitaremos hacer un prefabricado. Entonces vamos a entrar en nuestras prefabs y sumar el corazón. Simplemente consigue el corazón y arrástrelo y te pedirá que lo
hagas, te gustaría crear un prefab original o una variante de este prefab, simplemente haz clic en prefab original, y ahora tenemos corazones. Entonces, entremos a los activos y añadamos los guiones de recogida del corazón. A ver, ¿qué más debemos hacer? Creo que todo es genial. ¿ Qué más? De acuerdo, tenemos el colisionador. Tenemos el colisionador como gatillo, vuelta a guiones en el corazón. En tanto que la camioneta caliente, y así como hicimos exactamente lo mismo en el azúcar entrar por ahora, simplemente destruirá el objeto del juego. Enfriar. Entonces volvamos a nuestra unidad. Vayamos a prefabs. No necesitamos duplicar, simplemente volver a los prefabs en este corazón justo aquí. Y vamos a añadir un corazón, ¿verdad? O bien, no se preocupe. Ponga corazones en las pastillas. Entonces ahora tenemos dos corazones otra vez. Tercer corazón. ¿ Por qué no cambia los nombres? No creo que importe. Guarda eso. Haga clic en jugar y ahora deberíamos tener los corazones desapareciendo y D diamantes desapareciendo. Entonces, por ahora, no pasa nada. Posteriormente vamos a crear una partitura y vamos a crear una Vidas. Y cada vez que tomamos los diamantes son aumentos de puntuación y cada vez que tomamos los corazones, nuestras vidas aumentan. Entonces espero que hayan disfrutado el video. Espero que hayas hecho lo mejor de ti en los retos y te veré en el siguiente.
45. Agrega efectos de sonido (SFX) (SFX): Bienvenido de nuevo, mis desarrolladores de juegos favoritos. En este video, vamos a agregar sonidos a nuestro juego. Entonces no sólo recogemos los corazones y los diamantes, sino que también tenemos un sonido. Y si recogemos el diamante, tenemos en otro sonido. Por lo que estoy muy emocionado por este video. Es un video muy cool, anuncios sabor a nuestro juego y lo hace mucho más auténtico. Entonces, empecemos. Entonces vamos a añadir algunos efectos de sonido, lo cual es muy cool. Pero el problema antes de empezar es, me he dado cuenta de un pequeño problema es que nuestros corazones no rebotan cuando hacemos clic en play. Sólo el diamante brillan o los corazones, al
menos ambos rebotan los. Y ese es un problema muy sencillo de solucionar. Solo necesitas entrar en la animación, rebotando y asegurarte de que estén en tiempo de bucle. Por lo que están en bucle, así que hacemos clic en jugar y ahora nuestros límites duros y son diamantes brillan. Pero ahora mismo, si los recogemos, simplemente desaparecen y necesitamos agregar algunos efectos de sonido para hacerlos mucho más fríos. De la forma en que vamos a hacer eso es tocar un clip de sonido cada vez que levantemos los corazones sobre los diamantes. Pero tenemos un pequeño problema. Y ese problema es si entramos en nuestras diapositivas aquí mismo, nuestro problema es que el efecto de sonido que juega en el objeto diamante será destruido, lo
que significa que dejará de jugar cuando esta vez y se ponga la paja. Entonces como recuerdan, hemos puesto dentro de nuestro propio gatillo enter 2D que el objeto será destruido. Y cada efecto sonoro que se está jugando durante esta destrucción también será destruido y se detendrá para que, ese es un problema enorme. Entonces, ¿cuál es nuestra solución? Bueno, vamos a estar usando algo llamado clip de juego público usado en punto. Y te he dejado la documentación en los recursos y la revisaremos ahora mismo. Entonces básicamente lo que esto hace es que crea una instancia de audio de nuestro efecto de sonido independiente del objeto del juego del que vino, que es perfecto para en nuestro caso. Entonces entremos a la documentación de Unity y veamos qué clip de reproducción en punto es. Por lo que es un método público de vacío estático que toma en tres variables. Yo soy tres parámetros. Y vamos a estar enfocados en el clip, que es nuestro clip de audio. Y vamos a estar enfocados en la posición. El volumen no es un gran problema. Entonces si lees la descripción aquí mismo, puedes ver que reproduce un,
un clip de audio en una posición determinada en el espacio mundial. Por lo que esta función crea una fuente de audio, pero automáticamente se dispone de ella, quiere clip ha terminado de reproducirse. Y es perfecto para nosotros. Como se puede ver aquí mismo. Es así que creas una variable que es un clip de audio. Le das un clip y luego usas esta fuente de audio. Clip, play click en clip, en punto, y le das el clip y una posición para jugar en. Entonces sigamos adelante y tratemos de hacer los efectos de sonido. Lo primero que vamos a hacer es añadir un clip de audio. Entonces si vamos justo aquí y dos corazones, pastillas de
diamantes, hagamos primero los diamantes. Adelante y esterilizemos un campo. Y este campo va a ser un clip de audio. Entonces clip de audio, y lo llamaremos Diamante. Pick up como fx, lo que significa efecto de sonido. Guarda eso. Entonces ahora volvemos a Unidad. Volvemos a Unidad, y entramos en los diamantes. Y ahora mismo podemos ver que tenemos un lugar para poner nuestro clip de audio. Pero, ¿cuáles son, cuáles son nuestros clips de audio? Entonces vamos a entrar en activos y hagamos la mejor parte de crear proyectos. Y aquí está vertical. ¿ Por qué creó derechos? Volver a los activos. Y aquí mismo eso vamos adelante y crear una carpeta que llamará como f x, que son nuestros efectos de sonido. Y en los recursos que les he proporcionado dos clips de audio, que son pickup de diamante y pickup de corazón. Así que haga clic en esos y arrástrelos al efecto de sonido. Entonces si haces clic en efecto de sonido y haces clic en uno de ellos, puedes ver que se trata de un clip de audio y tiene muchas variables diferentes y cosas para retocar. En realidad podemos escucharlos. Entonces esta es la camioneta de diamantes. No estoy seguro si escuchaste eso por el micrófono, pero es un sonido bastante limpio que encontré en internet. Tienes la libertad de elegir cualquier sonido que encuentres. De todos modos, vamos a entrar en diamante, y simplemente arrastremos este diamante como efectos al audio. Y vamos a dar click en Aplicar Todo. Y ahora todos los diamantes tienen este efecto de sonido pick-up de diamantes en ellos. Genial. Lo siguiente que vamos a hacer es que realmente vamos a escribir el código para reproducir eso. Entonces vamos aquí mismo. Y cuando, antes de destruir el objeto,
sigamos adelante y usemos la misma fórmula que nos han dado en la descripción en los docs, documentaciones de unidad. Entonces es fuente de audio. Fuente de audio. Y luego si hacemos click en punto, tenemos clip en punto, clip en punto. Y nos pide el clip que es el efecto de sonido pick-up de diamante. A continuación necesita posición profunda. Entonces, ¿dónde debe la posición b? Bueno, si volvemos a Unidad aquí mismo, se
puede ver que tenemos muchos lugares diferentes para ponerlo. Podemos poner ya sea en los diamantes ya presentes o podemos ponerlo, por ejemplo, en el jugador. Pero lo voy a poner en la cámara y te diré por qué. Tienes este pequeño botón aquí mismo, que es 2D. Si haces clic en él, entramos en el 3D. Molde. Entonces hagamos esto más grande para que veas claramente lo que está pasando. Entonces como puedes ver en este momento, esta es nuestra cámara de aquí. Y como puedes ver, está un poco distante de nuestro campo de juego o de nuestra plataforma. En realidad, esto es muy cool como puedes ver, este es todo nuestro juego, pero en 3D, sin embargo se renderiza en un plano TD 2D. Y como puedes ver, los diamantes están un poco lejos de la cámara, mientras que nuestra cámara sí se mueve con el jugador. Pero por ejemplo, digamos que tomamos el diamante y nos escapamos, el sonido no se renderizaría correctamente. Entonces lo que quiero hacer es que quiero reproducir el clip exactamente en la posición de la cámara. Y eso en realidad es muy fácil. El modo en que hacemos eso es darle la posición de nuestra cámara principal. Por lo que es simplemente cámara dot main, dot transform, transform dotplot session. Por lo que ahora tenemos un sonido de pick-up de diamante, el hecho que toca en la posición de nuestra cámara principal. Entonces intentemos y veamos si eso funcionó. Entonces haga clic en play. Y ahora te llevas los corazones, no
hay efecto sonoro, pero si tomamos el diamante, ¿Escuchaste eso? Entonces ahora tomemos el segundo Diamond y tenemos efectos de sonido tocando. Entonces nuestro juego está mucho más fresco ahora mismo, ¿no? Entonces quiero mostrarte otra cosa. Y esa cosa es la voluntad de tratar de cronomearlo correctamente. Entonces si tomamos un diamante, está bien, y hacemos una pausa en el juego, se
puede ver aquí mismo en la jerarquía que tenemos algo llamado audio de un solo disparo. Y que todo lo que crea una fuente de audio y su clip de audio es la camioneta de diamante, tal y como nos dijo la documentación. Y como puedes ver aquí mismo, si hacemos click en el 2D y hacemos click en el disparo, está en la cámara. Por lo que
continuamos de nuevo, tomamos otro diamante y nuestro juego como función en 100% correctamente. Entonces lo siguiente que vamos a hacer es que vamos a añadir un efecto de sonido a nuestro corazón. Y ese es tu reto. Y tu reto es jugar el efecto de sonido captación del corazón. Entonces cuando tocamos nuestro corazón, queremos que se reproduzca el sonido y usaremos la misma fórmula que usamos en los tiempos de espera. Entonces te he mostrado cómo se hace. Es muy, muy fácil. Pausa el video ahora mismo y sigue adelante y haz el reto. Bienvenido de nuevo. Entonces, ¿cómo te pusiste con eso? Es bastante fácil. Entramos en los corazones, hacemos lo mismo. Entonces crearemos un campo serializado. Lo haremos un clip de audio. Y este clip de audio se llamará “heart pick up effects”. ¿De acuerdo? Y dentro de aquí vamos a crear una fuente de audio. Y vamos a usar el juego. En Punto de Clip. Vamos a darle el efecto de sonido del corazón pick-up. Y su posición va a ser a cámara. El punto principal transforman la posición de punto. Usa el punto y coma para cerrar todo eso, guardarlo, volver a Unidad. Y ahora en el corazón, elige cualquier corazón que quieras y dale los efectos de sonido del corazón que te he proporcionado en los recursos. Todos. Y ahora, si guardamos eso en la unidad, haga clic en play. Y ahora tomamos el corazón, deberíamos escuchar los duros hechos sonoros. Y nosotros sí. Hagámoslo otra vez. Y nuevamente escuchamos el sonido y si podemos tomar éste. Por lo que ahora hemos agregado efectos de sonido a nuestro juego. Por lo que tenemos muchos otros efectos de sonido que podemos agregar, que es muy cool y los estarán haciendo más adelante en otra sección. Entonces espero que hayan disfrutado el video. Este video es muy cool y muy bonito y agrega mucho sabor a nuestra ganancia. Entonces espero que lo hayas disfrutado y te veré en el siguiente.
46. Lives y la puntuación persistente: Bienvenidos de nuevo a todos a un video totalmente nuevo. Como puedes ver en este momento, tenemos un marcador o 99 en el marcador, y tenemos 99 en la vida o al revés. Entonces si hacemos click en jugar ahora mismo podemos ver que tenemos tres vidas y 0 como marcador para recoger uno de los corazones. Ahora tenemos cuatro vidas, y ahora tenemos seis vidas. Si recogemos los diamantes, tenemos 300 como puntaje. ¿ Y qué más? ¿ Si nos atropella un cerdito? Ahora nuestras vidas son cinco. Si pasamos al siguiente nivel, tenemos vidas persistentes y puntaje persistente. Oh, está bien, tasa de chicas. Entonces este es un video muy bonito. Espero que lo disfrutes y te veré en tan solo un poco. De acuerdo, entonces lo primero que haremos es que vamos a crear un lienzo aquí mismo que tendrá un texto sólido. El derecho derecho entra en la u, i, y ve y busca texto. Genial, por lo que ahora hemos agregado algunos tipos de textos. Pongamos el juego justo al lado de nuestra vista aquí mismo para que podamos manipular todo. Haga doble clic en contextos, ¿dónde está? Y está muy lejos de casa. Pongámoslo aquí, y vamos a anclarlo a la esquina superior izquierda. Este será el texto de nuestras vidas. Y sigamos adelante y hagámoslo 99 solo para representar cuántas vidas podemos realmente tener. Y una cosa tendremos que asegurarnos conforme vamos al
lienzo, escalador de lona y asegurarnos de que el molde de escala esté en la báscula con tamaño de pantalla. Oh, bien, genial. Haga doble clic en eso. Volvamos a encontrar nuestro texto. Y lo haremos cada vez más grande. Y vamos a ponerlo en negrita. Y lo haremos blanco para verlo correctamente. De acuerdo, hagamos esto un poco más grande. Entonces haremos que esto tal vez 4545 sea lo suficientemente bueno. Ahora tenemos nuestro estilo de vida. Vamos a duplicar eso y vamos a seguir adelante y anclar a la derecha. Y creo que has adivinado cómo vamos a llamar a esto. Esto no va a ser ganaderos. Uno. Va a ser nuestro Score Text. Entonces sigamos adelante y ponerlo a la derecha. Y esto será, vamos a ver, cuántos. Entonces creo que va a ser en los miles, en estos miles. Y creo que una vez más es suficiente. Esta será nuestra puntuación. Estos serán nuestros amores. Genial. Entonces sigamos adelante y cambiemos este lienzo y hagamos de esto la partitura y vive Canvas. De acuerdo, Ku, lo siguiente que vamos a hacer es que vamos
a acceder a estos dos textos desde nuestro código. Y vamos a hacer eso, por
supuesto, en todas las sesiones de juegos. Entonces, entremos a la sesión de juego. Y aquí podemos encontrar esa sesión de juegos de recolección. Entonces la forma en que vamos a agregar estos dos textos, textos a nuestro código es por supuesto el uso de estos campos serializados. Y vamos a estar usando algo llamado texto. Y como puedes ver, es parte del motor Unity dot u i Así que comprueba, comprueba lo que va a pasar aquí mismo. Sólo tienes que volver a borrar eso. Aquí mismo tenemos el motor Unity, manejo de escena del motor
Unity. Y si escribimos texto y hacemos click en Tab, automáticamente
agregará este espacio de nombres o biblioteca aquí mismo para que podamos utilizar los textos. Enfriar. Entonces sigamos adelante y agregamos el texto de partitura. Y un pequeño truco limpio que te voy a mostrar. Si tienes dos variables que son del mismo tipo, realidad
puedes ponerlas en la misma línea. Entonces sigamos adelante y sumamos el texto de vidas. Y vamos a seguir adelante y crear un entero que va a ser el marcador, y lo pondremos en 0 al principio. De acuerdo, así que guarde eso. Y ahora lo que tenemos que hacer es asignar cada texto a una determinada variable. Y la forma en que vamos a hacer eso es que los vamos a asignar en un inicio. Entonces sigamos adelante y creemos un método de inicio. Simplemente escriba inicio y haga clic en pestaña y tenemos el inicio. ¿ Y qué debemos hacer aquí mismo? Bueno, queremos decirle al código al que está asignado el texto de partitura,
o me refiero a que la puntuación está asignada en el Texto de Partitura y el texto de vidas tiene el jugador vive. Y es muy, muy sencillo. Entonces si salvamos eso antes que nada, y ahora si hacemos clic en vidas, texto de punto es igual a vidas de jugadores. Pero no podemos. Si cerramos esto, se
puede ver que hay una flecha que nos dice que no podemos convertir
implícitamente tipo int o entero a cadena. Por lo que necesitamos convertir este en una cadena. Y eso lo hacemos usando un método muy simple que Visual Studio ya nos dice que debemos usar, que es cadena. Y esta cadena simplemente convierte cualquier cosa que le demos al texto en una cadena. Y haremos lo mismo con nuestro Score Text, Song, Score. Texto de punto es igual a puntar punto para encogerse. Y ahora si entramos en Unidad, tiene que ir a la unidad. Si hacemos click en jugar. Pero este juego aquí mismo, si hacemos click en play, deberíamos tener aquí 0 y aquí el marcador, me refiero al marcador, las vidas serán tres y el marcador será 0. Pero algo que no tomamos en cuenta es que en sesión de juego aún no los hemos asignado. Por lo que vive en los ganaderos anotan y a estos córtex. Entonces haga clic en play. Y tenemos 30. Pero ahora mismo no pasa nada. Y si nos golpean, tampoco pasa nada porque aún no hemos actualizado el discurso y vive cada vez que morimos. Si entramos al siguiente nivel. Aquí no está pasando nada, y eso también lo arreglaremos. Entonces volvamos a nuestro código y veamos qué tenemos que hacer. Por lo que necesitamos actualizar el marcador y vidas gravadas cada vez que
obtenemos diamantes o nos dan un puñetazo en la cara por los cerditos. Entonces sigamos adelante y hagamos eso. En tomar vida, aquí mismo, disminuimos declarar vidas, pero necesitamos actualizar también el texto. Simplemente copia esto aquí mismo. El texto vive, textos para cadenas copian eso y lo ponen justo debajo de las vidas del jugador. Guarde eso. Y tendremos que hacer lo mismo con el marcador add. Pero el problema es que todavía no sumamos ninguna puntuación. Por lo que necesitamos crear una función o un método para eso. Adelante y hagámoslo, lo
hará público porque se accederá desde la camioneta de diamantes. Entonces digamos vacío público. Llamaremos a este sumar a anotar. Y vamos a pasarle un parámetro. Y a ese parámetro simplemente se le va a llamar el valor. ¿ Y por qué necesitamos eso? Bueno, porque tal vez quieras hacer que ciertos diamantes tengan un cierto valor más grande, o tal vez quieras tener diamantes pequeños y diamantes grandes. Por lo que esto nos da un poco de flexibilidad a nuestro código. Por lo que simplemente, vamos a hacer el puntaje más igual valor. Entonces lo que significa este plus, así como esta puntuación de tipo, puntuación más valor. Y lo que esto
hace, aumenta la puntuación. Entonces por ejemplo, digamos que tenemos 0, le agregamos el valor y lo ponemos dentro de la puntuación. Por lo que la próxima vez cuando recojamos el segundo diamante, este marcador se sumará al marcador ya existente. Y debido a que Unity Estoy en Visual Studio es muy útil, simplemente
podemos escribir plus igual, que es exactamente lo mismo. Y antes de irnos, necesitamos actualizar también el texto de partitura. Guarde eso. Y ahora tenemos que usar este sumar puntuación a en nuestra camioneta de diamantes. Entonces aquí mismo vamos antes de destruir y después tocamos un clip on point. En realidad no importa si lo ponemos bajo destruir o sobredestruir. Es lo mismo. Lo que necesitamos hacer es encontrar el objeto de tipo. Y ese objeto va a ser una sesión de juego. Y en sesión de juegos vamos a sumar a anotar y necesitamos pasarle un valor. Entonces sigamos adelante y esterilizemos un campo. Porque esto nos da la capacidad de cambiar donde, cuando queramos, va a ser un entero y va a ser el valor del diamante. Y por ahora lo vamos a hacer 100. Y eso es todo porque es un entero y lo pasaremos al parámetro de puntuación del anuncio Qu. Por lo que ahora tenemos todo preparado. Tenemos la puntuación, tenemos el valor del texto. Y ahora lo que vamos a hacer es que vamos a probar eso y ver si funciona. Entonces guarde eso. Y ahora, si tomamos un corazón, nuestro puntaje no aumentó. Me refiero a que nuestras vidas haciendo aumentan. Si tomamos un diamante, nuestro puntaje sí aumenta. Entonces veamos eso de nuevo. Los diamantes aumentan en puntuación. Si morimos, aquí tenemos a estos dos. Intentemos eso otra vez. Si nos golpean en otro momento ahora tenemos una vida. Y si nos golpean por tercera vez, empezamos de nuevo. Entonces ahora veamos por qué nuestras vidas no aumentaron. Y creo que es obvio porque no hemos creado ningún resfriado que nos dé la capacidad de aumentar nuestras vidas cada vez que tomamos un corazón, que va a ser tu reto. Tu reto es hacer lo mismo por las vidas del jugador. Así que pasa por los mismos pasos para actualizar nuestras
vidas de jugadores tal como lo hicimos para el marcador y hacerlas necesarias. Pequeños ajustes. Es bastante fácil. Tiene una solución muy sencilla. Es exactamente lo mismo que anotar cada vez más, pero como te dije aquí mismo con pequeños ajustes. Así que pausa el video ahora mismo y ve a hacer el reto. Ay, kay, bienvenido de nuevo. Entonces es exactamente lo mismo. Aquí mismo en la camioneta del corazón van a encontrar objetos de tipo. Va a ser la sesión de juego. Y vamos a sumar no a anotar, sino porque creo que sigue siendo una escuela privada aquí mismo. Y ya veremos qué tenemos ahora. Tenemos sólo el quitarle la vida. Vamos a crear una función que es sumar vidas. Entonces vamos a crear un vacío público en dos vidas. Y simplemente vamos a sumar el jugador plus plus, lo que aumentará las vidas de Thayer a una. Y vamos a copiar esto y pegarlo justo debajo para actualizar el texto. Vuelve aquí mismo, y sigamos adelante y sumamos dos vidas. Y no necesitamos pasar ningún parámetro porque sólo va a sumar una vida. Entonces volvamos aquí mismo. Haga clic en jugar. Y ahora si levantamos un corazón
, aumenta a cuatro. Y si recogemos un diamante y aumentamos 100, pero tenemos un ligero problema. Si saltamos encima de un corazón. Actualmente son cuatro, deberían ser cinco, pero se convierten en seis. Entonces, ¿qué pasa con eso? Eso lo arreglaremos en otro video en solo necesita un poco de ajuste. Y por ahora, una cosa más que tenemos que cuidar es si volvemos a hacer clic en jugar, y por ejemplo, recogemos diamantes y lo que sea. Entonces el cerdito indefenso ahí mismo, cogemos una vida y un libre se golpean, por ejemplo, ahora más de tres veces lleva mucho más tiempo para que moramos solo para asegurarnos de que nuestra mecánica esté funcionando. Como pueden ver, ya nos han golpeado más de tres veces. Son unas cinco veces y aún podemos vivir. Entonces vamos y al siguiente nivel a ver qué pasa con las partituras y el texto. Mantén lo mismo. No, desaparecen. Y eso es un problema. ¿ Qué Gibbs? Bueno, como puedes ver, nuestras cuentas y vidas no están bajo el, no lo destruyas. Tenemos que hacerlos indestructibles. Y la forma en que hacemos eso es simplemente Childles a la sesión de juego. Entonces ahora si aplicamos, toda nuestra sesión de juego tendrá de niño,
un lienzo de UI con vidas y salvar eso. Y ahora si hacemos clic en jugar y recogemos un par de corazones y un par de diamantes. Pasamos al siguiente nivel, y al siguiente nivel tenemos 6300, que es extremadamente útil y super cool. Entonces espero que hayan disfrutado el video. Espero que fuera muy educativo porque ahora estamos controlando nuestro juego de manera muy efectiva a través de anotaciones y a través de vidas. Necesitas hacer un par de ajustes más adelante, pero eso está bien siempre y cuando la mecánica del núcleo esté funcionando. Entonces te veré en el siguiente video.
47. Sección extra: la introducción del nivel: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y como pueden ver aquí mismo, tenemos otra puerta y nuestro jugador parado justo detrás de ellos. Entonces vamos a ver qué pasa cuando hacemos clic en jugar. Por lo que cuando hacemos clic en el botón de reproducción, son Player abre la puerta y aparece por detrás. Y ahora si vamos a la puerta, se abre. Y si presionamos al jugador w R, no sólo va al siguiente nivel, sino que también pasa por la puerta y sale de la puerta y luego va a la puerta de al lado y pasa por ella y va al siguiente nivel, y es un ganador, ganador. Entonces es un video muy emocionante. No perdamos más tiempo y empecemos. De acuerdo, así que sigamos adelante y el primer mundo entramos en nuestros sprites y conseguirlos. Tenemos la puerta y la puerta afuera. Entonces, ¿simplemente arrastrarlos y ponerlos dentro de dónde están nuestros sprites? Dentro de sprites. Y vamos a seguir adelante y ponerlos dentro de nuestro conquistador, mientras que nuestro Conquistador, ahí está nuestra conquista. Y ahora antes que nada, vamos a crear, hagamos esto un poco más grande. Vamos a crear la puerta n. Así que entrando en la puerta, y como se puede ver eso vamos adelante y hagamos 30, sea múltiple, aplique eso y abra estos Sprite Renderer. Entonces como pueden ver, son humanos o nuestro conquistador va de estar aquí y a desaparecer detrás de la puerta. Entonces vamos a rebanar ahí arriba. ¿Es 64? Es 58 por 58. Ojalá, una órbitas abiertas no, debería ser más grande. ¿ Qué tan grande debería ser? Entonces vamos a ver. Si nosotros, ¿qué tan grande debería ser? Deberíamos hacerlo con, creo que un relleno de 20. Por lo que 20 relleno en rodajas y todos ellos están en el medio. Perfecto, aplica todo eso. Y ahora tenemos a nuestros sprites rebanados y listos para ser una animación. Así que selecciónalos todos, haga clic derecho y cree la animación, mientras que es animación. Y llamaremos a esta animación este peering. No estoy seguro de que así sea como lo escribimos desapareciendo. No creo que lo sea, y va a funcionar por ahora. Así que ponlo dentro de jugador que se abrió el animador de nuestro reproductor. Y sigamos adelante y sumamos este mirador en el animador. Está bien, genial. Tenemos que jugar un poco aquí mismo porque no me gusta la distribución de los estados, así que es bastante fácil. Vamos a mover la salida aquí mismo. Mueve el NSDate hacia arriba, mueve el conseguir hit. Pongamos la desaparición. Sí, por aquí. Ok, entonces ¿cómo vamos a hacer las transiciones? Entonces las transiciones van a ser de ralentí porque llegamos a la puerta se abre, hacemos clic en un botón, así que va a ser de ralentí. Y lo vamos a sumar al peering. ¿ Y qué parámetros debemos estar agregando? Esa será una transmisión unidireccional porque siempre que desaparezcamos detrás de la puerta, no
entraremos en ningún otro estado o simplemente saldremos del nivel. Por lo que pondremos esta duración de transición a 0, eliminaremos cualquier tiempo de salida que tengamos. Y sigamos adelante y agreguemos un gatillo. Y este gatillo va a ser esta desapareciendo, pero el mismo nombre. Y nos ahorrará cierta confusión y esto desencadenará la desaparición. Entonces entremos al código y veamos dónde
vamos a activar esta animación de desaparecer. Sigamos adelante en el Visual Studio. ¿ Y dónde crees que deberíamos poner esto o debemos activar esta desaparición? Lo deja en un reto. De acuerdo, entonces deberíamos ponerlo en el nivel de salida y justo antes de empezar a cargar el nivel. Entonces sigamos adelante y busquemos mi activador de set de puntos animador. Abramos y sigamos adelante y saquemos la referencia. Esta es la primera vez que incluso pienso esto peering y declaro cómo lo escribes. Ok, lo pegaremos aquí mismo, guarde eso. Y ahora si entramos en la unidad, haga clic en jugar. Hagamos esto más pequeño. Haga clic en jugar. Y si pasamos por la puerta y hacemos clic en la W, Se va. Pero como puedes ver, hay un par de problemas. Vamos a jugar eso otra vez. Y hacemos click en, si hacemos click en la w, Como puedes ver, en primer lugar, la puerta se cierra antes de que salgamos. Y en segundo lugar, si seguimos tocando la animación, cuando termine, todavía podemos ver la silueta de nuestro jugador ahí mismo. Entonces dos problemas que tendremos que arreglar. En primer lugar, vamos a arreglar el problema de nuestra silueta de jugadores todavía ahí. Entonces eso es bastante sencillo. Sólo nosotros, lo único que tendremos que hacer es añadir una función que desactivará el renderizador sprite. Entonces sigamos adelante y agreguemos que lo hará público, o no tienes que hacerlo público. Entonces, pero lo haremos por si acaso no se preocupe. Entonces es un vacío público. Turno de proveedor de Renderer bajo es así como lo escribes? Entonces vamos a seguir adelante y vamos a conseguir el componente, obtener el renderizador sprite o renderizador sprite, mientras que sprite renderizador. Y Hughes habilitado. Y va a ser falso. Ahora bien, ¿a dónde vamos a llamar a este método? Bueno, se va a llamar usando una animación de eventos. Entonces volvamos al jugador y elijamos la animación, vamos a desaparecer. Y justo por aquí, debería desaparecer. Entonces sigamos adelante y sumamos en evento, y este evento llamará a la función apagar renderizadores. Entonces, veamos si eso funcionó. Haga clic en jugar. Eso es ir justo aquí. Da click en w Y desaparece por completo. Nueces. Lo siguiente que tendremos que hacer es asegurarnos de que nuestro en absoluto se mantenga,
se mantenga abierto hasta que nuestro jugador pase por ello. Bastante simple, la forma en que lo hacemos también es usar un sistema de eventos. Entonces vamos a entrar en nuestro Visual Studio y vamos a crear un método aquí mismo que se va a llamar público vacío carga siguiente nivel. Y simplemente vamos a copiar esto aquí mismo, que es encontrar el objeto de tipo puerta de salida, no copiar realmente cortarlo. Entonces el control x y Control V. Así que debería quitarlo de aquí arriba. Y pronto sabrás por qué estamos haciendo esto. Y otra cosa que haremos solo para ahorrar un poco de espacio
simplemente llamará a la función apagar renderizador aquí mismo. Entonces giro del Renderizador. Muy bien, en la carga siguiente nivel. Ahora ya verás por qué hicimos eso. Vuelve a Unidad. Haga clic en la capa y busque el dónde está desapareciendo? Y aquí mismo en lugar de este evento, vamos a cambiar el renderizador de apagado y a la, Considerando que lobuló siguiente nivel. Entonces lo que pasa ahora es que iniciaremos la animación que desaparece. Por lo que empezará a desaparecer. Entonces, una vez terminada la desaparición, comenzaremos a cargar el siguiente nivel y vamos a dar vuelta al render. Entonces, veamos si eso funciona. Colecciona en Play. Y ahora si pasamos por la puerta, él irá puerta se cerrará y luego iremos al siguiente nivel, Qu. Entonces ahora es el momento de tu reto. Y tu reto es crear una puerta, entrar, entrar, Añadir una puerta entrada o no una puerta de salida con su propio guión a la escena desde la que tú, nuestro jugador entra cada vez a un nivel, empezar en un jugador que aparece animación al Animador y realizar las transiciones apropiadas. Y desencadenar el jugador que aparece animación y arranque. Y por último, necesitas posicionar al jugador detrás de la puerta en cada nivel. Así que crea una puerta de entrada. Y esa puerta de entrada debería ser casi lo mismo que una puerta de salida, pero tendrá un poco de diferencia en el animador y una pequeña diferencia en la forma en que funciona el guión. Y hay que hacer los cambios al jugador para que la animación de aparecer así se
juegue tan pronto como iniciemos un nuevo nivel y el jugador debe estar detrás de la puerta. Así que paren el video ahora mismo y vayan a hacerlo el uno al otro. Oh, bien, bienvenido de nuevo. ¿ Cómo te equivocaste con eso? Sigamos adelante y creemos la aparición. Entonces entremos a los sprites de nuestro conquistador. Cerremos la puerta N, Y elegamos la puerta fuera. Y ahora necesitamos rebanarlos. Por lo tanto, haz que este 30 minutos se aplique múltiple. Vamos al editor sprite y como puedes ver, nuestro jugador va de una silueta y dos apareciendo como nuestro conquistador. Entonces sigamos adelante y cuadrícula por tamaño de celda. ¿ Cuánto fue esto? Ah, era 58 por 58 y tenía un relleno de 20. Cortarlo hacia arriba. Todos están en el medio. Perfecta aplicación. Ahora sigamos adelante y creemos la animación, haga clic con el botón derecho en la animación. Y llamaremos a esto peering. Así que poner apareciendo dentro de jugador y desde jugador, sigamos adelante y sumémoslo a nuestro ahora muy grande animador. Por lo que el peering se establecerá aquí mismo. Entonces, ¿cómo funcionará la aparición? Bueno, tendremos una transición de la aparición de dos ralentí, que tendrá también un gatillo. Llamaremos a este gatillo. Apareciendo. Bastante suficiente, bastante simple. No tendremos tiempo de salida y tendremos una duración de transición de 0. Agregaremos una condición la cual estará apareciendo. Y ahora necesitamos agregar una transición de vuelta de aparecer en ralentí. Ahora, ¿cómo va a funcionar esta transición? Bueno, no tendrá Duración de Transición y tendrá un tiempo de salida de uno. Por lo que ahora activaremos la animación de aparecer en cuanto comience el juego, por lo que se instalará. Y luego lo haremos, después de que termine la animación y aparezca nuestro jugador, volveremos a transitar al ralentí. Guarda eso. A ver si eso, oh, antes de que hagamos eso, necesitamos desencadenar justo aquí en el inicio. Por lo que mi animador dot set trigger primero dijo El que aparece. Para que cada vez que iniciemos el juego, cada, cada nivel que empecemos, aparezca
nuestro jugador. Entonces antes de crear el entrado o vamos a seguir adelante y hacer esto 1 primero. Entonces haz esto más pequeño. Pueden jugar y nuestro jugador debe salir de la pared. Demos click en jugar y veamos qué pasa. De acuerdo, eso fue un poco rápido. Vamos a otro nivel para verlo mejor. De acuerdo, entonces pasamos por la puerta, aparecemos en el siguiente nivel. Y así ahora esto está funcionando. Lo siguiente que tenemos que hacer es que vamos a necesitar crear el tour antero. Adelante y hagamos eso. Entonces haremos clic derecho aquí mismo y crearemos un objeto de juego vacío, restableceremos su posición, y pongámoslo aquí arriba. Simplemente tomemos este diamante y lo pongamos junto a estos dos diamantes. Entonces objeto de juego. Hagamos esto más pequeño. Y esta será la puerta. Entrar. Y sigamos adelante y agreguemos una fuente de renderizador sprite, ¿verdad? El renderizador tendrá por defecto, serán las burbujas de interacción y la capa será interactable. En realidad, ya sabes,
nosotros, no necesitaremos agregar ninguna capa. Simplemente necesitaremos una capa de clasificación. Entonces sigamos adelante y vayamos a los sprites de la puerta y añadamos el sprite inactivo a la puerta. Correcto. Entonces ahora tenemos una puerta. ¿ Qué más necesitamos? Bueno, teníamos que crear un sprite, quiero decir, un guión para ello. Entonces va a ser puerta o vamos a mantener consistentes. Entonces y de tercer orden para entrar de puerta. Sí, se ha entrado o así creando nuevo guión y Theodore y esperaremos la unidad. Correcto. Entremos a los activos y pongamos la puerta dentro de los guiones. Entonces, sigamos adelante y ábrela. Y el Visual Studio hasta puerta, igual que puerta de salida pero con un giro. Entonces, ¿qué tendrá la puerta de salida? Bueno, arranca empezará con desencadenar el abierto. Oh, no lo hicimos, no lo hicimos en el animador. Y de alguna manera todavía se llama objetos de juego. Entonces cambiemos eso. Y para entrar a puerta Qu,
Entonces, ¿qué debe entretener el animador de nuestro P? Bueno, es un poco de giro y un poco de shocker, pero va a ser lo mismo para la puerta de salida. Entonces cambiaremos el nombre de la puerta. Es decir, la puerta de salida a puerta, y simplemente la arrastraremos y la agregaremos a la puerta. Y va a ser exactamente lo mismo. Pero lo único que cambiará está en el guión enter door. Entonces lo primero que vamos a hacer en el entrado o guión es vamos a mientras que así y su puerta. Entonces en cuanto
empecemos, vamos a activar la animación. Entonces obtendremos el componente o la animación de apertura. Entonces vamos a conseguir el animador, mientras que de todos modos enseñó o, y vamos a poner el gatillo y va a usar el abierto. Tan abierto. Y ahí está. Hemos puesto el gatillo en cuanto la escena acapare. Y ahora sigamos adelante y vayamos al nivel uno. Guarda eso. Vámonos y Prefab. Entonces, ¿dónde están nuestras prefabs? Son prefabs. Entremos prefabricados a puerta, y vamos a guardar eso también. Entrémonos al segundo nivel. O antes de ir al segundo nivel, pongamos a nuestro jugador detrás de la puerta o justo al lado de la puerta. Entonces así como así, volvamos atrás y a los niveles. ¿ Dónde está? Por lo que las escenas nivelan a, sí, guarden eso y hagan doble clic en el reproductor para encontrarlas. Vamos a seguir adelante y añadir el Considerando que la puerta donde nuestras prefabs puertas tantas carpetas en este momento. Por lo que agrega el así este es el producto x dólares aquí mismo. Y la puerta de entrada estará justo detrás del jugador. A pesar de que es el mismo lugar. No te preocupes, podemos cambiar eso. Entonces tomemos el jugador y la puerta y los pongamos aquí mismo para que no nos confundamos. Ok, tan genial. Guarda eso. Volvamos al nivel uno y juguemos y veamos si nuestro juego fluye sin problemas. Por lo que públicamente quejándose, ahí está, haga clic en jugar, y en cuanto arranca el juego, se abre
la puerta, aparece el jugador. Y si pasa por la puerta en el nivel dos, puerta se abre, aparece el jugador, nos movemos. Puedo pasar a la puerta de al lado, así que hagámoslo. Y por último, aparecemos en el menú principal, que nos dice que somos un ganador cuando sea. Por lo que volver a los menús principales, iniciar juego y hacemos todo eso una y otra vez y otra vez. Vídeos geniales, así funciona bien que c entrar de puerta y ver todo y nuestras animaciones se ponen así y nuestro reproductor va de un lugar a otro. Entonces espero que hayan disfrutado el video. Espero que lo encuentres tan cool como yo porque es realmente, realmente genial y le da al juego como si no hubiera cambios de escena. Simplemente estamos caminando de puerta en puerta y entrando en niveles nuevos y diferentes. Es muy emocionante, es muy cool y nos vemos en el siguiente video.
48. Agrega SFX a todo: Bienvenidos de nuevo a todos a un video totalmente nuevo y al muy cool, porque estamos respirando mucha vida y arcanos. Como puedes ver aquí mismo, nuestro reproductor ahora tiene una fuente de audio y muchos efectos de sonido. Entonces vamos a revisarlos. En cuanto iniciemos el juego. Aquí, tenemos una abertura de puerta. Podemos recoger las cosas. Podemos caminar. Si golpeamos a nuestro jugador, muere y hace sonido. Caminamos, caminamos. Vayamos a la bomba y veamos cómo se quema. Explota. Y si vamos a la puerta, en realidad
podemos pasar por ella. Qu, Así que vamos a ver cómo hacemos todos esos efectos de sonido. Oh caso. Porque nuestro jugador no sería destruido cada vez que lo recogemos. A diferencia de los diamantes y los corazones, utilizará un método diferente que no sea el clip de reproducción en el punto. Y esa es la tienda L1. Entonces veamos qué es eso. Entonces esta es la documentación de Unity, ya que deberías estar familiarizado con ella. Y tenemos la fuente de audio dot play one-shot. Entonces si leemos la descripción, reproduce un clip de audio que por supuesto se lo
estará dando y escala el volumen de la fuente de audio. Ahora el volumen no hará un gran alboroto al respecto depende de tu preferencia. Si lo deseas, puedes hacerlo más grande o más alto o más bajo. De todos modos, toca un solo tiro. Y si puedes ver aquí mismo, ya que requiere de una fuente de audio para reproducir eso. Entonces tendremos que añadir algo llamado fuente de audio. Volvamos a Unity y vayamos a nuestra capa. Y vamos a añadir un componente que se llama la fuente de audio. Por lo que ahora tenemos una fuente de audio en nuestro reproductor. Genial. Lo siguiente que tendremos que hacer es darle algunos clips de audio al reproductor. Por lo que tenemos muchos clips de audio y algunos de ellos formarán parte de tu reto. Haré un par de ellos y dejaré el resto para tu reto. Entonces sigamos adelante. Como pueden ver, podemos agregar un clip de audio aquí mismo a la fuente de audio, pero haremos una manera diferente lo que está dando al guión aquí mismo algunas fuentes de audio y las usará para reproducir y la fuente de audio. Entonces guarde eso. Vayamos al jugador. Y aquí mismo, tendremos que añadir un par de campos serializados. Entonces sigamos adelante y creemos un campo serializado. Y va a ser un clip de audio. Y vamos a añadir el salto como efectos, se sumará la terraza como fax. Y creo que eso es suficiente por ahora. Vayamos a sacarlos de los recursos. Entonces te he dejado con muchos efectos de sonido y los estaremos usando todos. Pero por ahora sólo vamos a conseguir el salto y el, Considerando que, el ataque. A lo mejor haremos un par de más después. Así que ponlos dentro de los efectos de sonido. Y ahora tenemos el corazón, me refiero al ataque y el salto. Entonces, ¿por qué no se guarda? Guardemos el guión del jugador. Y como pueden ver, los he puesto en una sola línea para ahorrar espacio. Y como podemos hacer eso, no lo
hicimos aquí arriba, pero Esto es para los propósitos de tener todo frente a nosotros y no confundirte, sobre todo al principio. Por lo que de vuelta a Unidad, podemos ver aquí mismo en el inspector que tenemos el salto y el atacante. Entonces, vamos a asignarlos. Por lo que salta a saltar y atacar al ataque y se aplicará también lo aplicamos a la prefabricada. Guarda eso. Ahora, volvamos a Visual Studio y veamos cómo vamos a jugar esto. Entonces lo primero que necesitaremos es una referencia a nuestra fuente de audio. Entonces crearemos una fuente de audio y lo llamaremos mi nueva fuerza. Y luego empezar. Sigamos adelante y asignemos la mi fuente de audio para obtener componente y la fuente de audio presente en el objeto del juego. Pasos tan fáciles que deberías estar familiarizado con estos. Lo siguiente que vamos a hacer es que vamos a necesitar añadir el sonido de salto siempre que saltemos realmente. Entonces aquí mismo podemos ver que cada vez que sumamos la velocidad es un momento perfecto para sumar el salto. Entonces, sumémoslo aquí mismo. Por lo que mi fuente de audio y como he dicho, estará usando el play one shot. Así que dot play un tiro. Todo lo que necesita es el efecto de sonido saltando. Y vamos a buscar al atacante, mientras que el ataque,
vale, así que aquí mismo, cada vez que tocamos la animación, obtenemos los colisionadores. Podemos ponerlo aquí mismo. Entonces es mi fuente de audio, dot delay one-shot y el efecto de sonido atacante. Guarda eso. Volvamos a Unity y veamos si eso funcionó. Todo debe estar configurado. Entonces haga clic en play. Ahora, si hacemos el ataque, ok, entonces si atacas, atacamos, tenemos un sonido. Si saltamos, se puede ver que nuestro reproductor tiene un sonido y recoger los diamantes también nos da un sonido. Por lo que aún no estamos acostumbrados a matar cerdos. Ok, entonces ahora los hemos matado y tenemos múltiples sonidos. Si golpeamos varias veces qu, siguiente cosa, ¿qué debemos hacer mientras voy a usar uno? Tocaré un audio usando un evento solo para mostrarte y el resto será todo tuyo. Y lo haremos con la puerta. Ahora tenemos dos formas de hacer esto. En primer lugar, podemos agregar una fuente de audio a las puertas Enter y de salida. O simplemente podemos reproducir clip en el punto. Ambos son buenos. No hay inconvenientes para anuales ellos. Puedes hacerlo lo puedes hacer de la manera preferida tu manera preferida. Lo voy a hacer usando el clip de reproducción en punto porque honestamente, no
necesitan una fuente de audio. También podemos agregar una fuente de audio. No es un problema, pero no vamos a hacer eso. Entonces. Entremos a la puerta o puerta de salida, y sigamos adelante y creemos un método que reproduzca el audio. Entonces vamos a seguir adelante y crearlo. Entonces va a ser un vacío. Por supuesto. Llamaremos a esta obra de teatro abrir puerta como efectos. Y haremos capitalizar la apertura porque así hacemos los métodos. Y dentro de aquí vamos a reproducir el clip de retraso de punto fuente de audio en el punto, y necesitaremos un clip y una posición. Entonces serialicemos un campo. Y el campo serializado tendrá un clip de audio. Clip de audio. Y este clip de audio tendremos la apertura oh, nope, no capitalizado puerta de apertura como f x. Y tendremos que hacer exactamente el mismo extremo el Considerando que la puerta se abre, mientras que la puerta abre la puerta. Entonces tendremos que hacer lo mismo. Adelante y hagamos eso. Entonces copiaremos esto y esto. Entonces copia eso, ponlo aquí mismo. Y haremos lo mismo por la puerta abierta serializada. Entonces para la apertura ahora, vamos a guardar todo eso y volvamos a Unidad. Y vamos a seguir adelante y, y el efecto de sonido para la puerta se abra. Entonces sumémoslo dentro de Unidad. Y si lo jugamos, juguemos. Entonces es una puerta que se abre, nada demasiado especial en ella. Puerta de salida. Deberíamos haberlo hecho. Está bien. No lo tenemos aún ingresado o oh, creo que es porque tenemos un error aquí mismo, así que tendremos que hacer algunos ajustes para que todo funcione. Entonces vamos a seguir adelante y guardar todo, guardar todo guarda todos los scripts no guardados. Por lo que entrar puerta debe tener ahora una puerta que se abre. Y vamos a añadir el clip de audio, aplicar todo. Y luego la puerta de salida también agregará el Considerando que está bien, ahí está. Y vamos a aplicar. Ahora bien, ¿dónde debemos tocarlo? Bueno, como ya les he dicho, vamos a estar usando un evento para jugarlo. Entonces en el ingresado o si hacemos click en él, vemos que tenemos a nuestro animador aquí mismo. Si hacemos click en animación, podemos ver la apertura. Y tan pronto como se abra la puerta, vamos a sumar un evento el cual nos dará una opción para elegir una función. Y la única función que tenemos es abrir puerta profundamente como afecta. Haga clic en eso y haremos lo mismo por la puerta de salida. Tan abierto, oh, ¿ya hay? Tan abiertos, y, o, estamos usando el mismo animador. De acuerdo, eso es muy fresco y muy rápido, muy eficiente. Entonces si ahora cuando hacemos clic en jugar. No, no hay sonido. No hay sonido en absoluto. ¿ Por qué es eso? Oh, OK. Otro error muy tonto. Por lo que tendremos que añadir la abertura como x a la posición de punto de transformación del punto principal de la cámara. Y vamos a copiar esto porque es un bocado. Y lo pegaremos aquí mismo. Por lo que debería haberlo copiado todo. Por lo que abrir puerta como efectos y la cámara transforman dominio la posición de transformación. Y ahora si hacemos click en play, ojalá esto vaya a hacer un sonido de puerta abierta. Y así si ahora, si saltamos a la puerta, deberíamos escuchar otro sonido y coo. Y si entramos por la puerta, aún no
escuchamos ningún sonido. Porque es parte de tu reto. Y tu reto va a ser completar todos los demás efectos de sonido. Entonces te mostraré los efectos de sonido que necesitamos completar. Esos son los efectos de sonido que no tenemos otra vez. Entonces tenemos la camioneta de diamante, la camioneta de corazón que ya hicimos. Tenemos la apertura de la puerta, ya lo hemos hecho. Tenemos muerte enemiga, tenemos la muerte del jugador, ataque de jugador. Hemos hecho hit de jugador, lo que significa que cada vez que el jugador es golpeado, no
hicimos tenemos el salto, Tenemos la explosión A-M-P y la bomba en llamas. Entonces déjame darte un par de eventos aquí mismo. Por lo que se debe usar la explosión y la quema. Bueno, puedes usarlos ya sea en eventos o puedes usarlos, usarlos dentro fuera del guión. Ambos son muy buenos. Ya he probado ambas. A lo mejor haremos las dos. Y por ejemplo, mientras que si la muerte enemiga se puede usar usando play clip en punto la muerte de los jugadores se puede usar usando play one-shot se puede jugar con usar play one shot y usar tu imaginación, haz lo que quieras. Pruebe ambos métodos. Ambos son geniales y te veré en un rato. Oh, OK. Entonces veamos qué tenemos que hacer. En primer lugar, vamos a buscar todos nuestros clips. Entonces tenemos la explosión de bomba mamá en llamas VB, puerta de
la muerte cerrada y el yo muriendo. Y qué más debemos conseguir? El conseguirlo y el caminar. Por lo que caminar será un poco más difícil de sumar. Entonces veamos la explosión. Golpe de Estado. De acuerdo, entonces, ¿qué debemos hacer ahora? Y sigamos adelante y agreguemos la bomba. Entonces, ¿qué debemos hacer embalsamado? En primer lugar, vamos a aplicar todo. Y creo que en bomba tenemos, como les he dicho de dos maneras, bien
podemos agregar una fuente de audio o no tenemos que hacerlo. Pero debido a que tenemos dos clips para reproducir, sigamos adelante y añadamos una fuente de audio. Y entraremos en el guión para el bono. Y sigamos adelante y sumamos dos campos serializados, que serán por supuesto clips de audio. Y vamos a sumar la explosión como efectos y la quema como efectos. Guardemos eso. Y dónde deberíamos En primer lugar, vamos a conseguir el componente o. caso de que primero necesitemos crear los componentes. Entonces es una fuente de audio, fuente de
audio, y va a ser mi fuente de audio. Por favor. Necesito mi fuente de audio. Fuente de audio. Lo hemos llamado mi fuente de audio para mantenerse consistente con mi animador, sigamos adelante y asignarlo. Entonces estos son pasos muy básicos que he hecho varias veces. Espero que hayas hecho el reto. Espero que hayas disfrutado del reto y no solo verme hacer todo. No porque no me guste, sino porque me gustaría que resolvieran problemas. De acuerdo, entonces lo siguiente, ¿qué debemos hacer? Bueno, dentro de bomba explorada, cuando alguna vez realmente explotamos la bomba. Eso es ir adelante y usar mi fuente de audio dot lay one shot. Y vamos a añadir el efecto sonoro explosivo, Cu. Y aquí mismo en gatillo Enter, deberíamos reproducir la fuente de audio dot L1 shot, y va a ser el efecto de sonido ardiente. Entonces guarde eso, necesita volver a Unity y nunca olvidar asignar los efectos de sonido apropiados. Entonces explosión de bomba y explosión de bomba. Una quemadura en el efecto de sonido ardiente. Aplicar todo. Y vamos a probar el lazo, pero el bache está ahí arriba, así que subamos nuestra capa. Cou, haga clic en jugar. A ver qué pasa si nos acercamos o K. Bonito, muy, muy, muy bonito. ¿ Qué más tenemos? Vamos a echar un vistazo reto. Tenemos. Entonces hemos hecho muerte enemiga. Veamos sentir la muerte enemiga. Entonces la muerte enemiga, mientras que ella, enemigo muriendo. Oigamos la voz. Ok, muy cool. Esa fue mi imitación. Entonces, entremos al enemigo. No vamos a añadir una fuente de audio porque
sólo tenemos una jugada de efecto de sonido o no creo que Paul necesitara. Veamos dónde está el enemigo. Vamos a serializar un campo. Por lo que serializado campo, audio, clip. Y va a ser el momento como efectos. ¿ Y dónde debemos tocarlo mientras deberíamos tocarlo? Creo que podemos jugarlo aquí mismo. Pero por ahora, sigamos adelante y sumamos un evento solo para condimentar las cosas y divertirnos en ello. Entonces bajemos aquí y agreguemos algo justo antes o suscribamos aquí. Entonces llamaremos a esto el vacío, jugar, morir como efectos. Entonces es lo mismo, pero sólo estamos intentando cosas diferentes para tener todo y más armas en nuestro arsenal. Entonces juega clip en bond, va a ser el efecto de sonido moribundo. Y por cierto, creo que jugar clip en Point en realidad es mejor aquí mismo para el cerdo porque estamos destruyendo el objeto. Por lo que necesitamos tener una copia de seguridad por si acaso acaso el enemigo muere POR debería. Es decir, el objeto de juego del enemigo se destruye. Antes incluso de que tengamos la oportunidad de terminar los efectos de sonido. Por lo que jugar clip en Point es mejor en este caso. Entonces sigamos adelante y cámara principal punto transform.py posición. Entonces vamos a añadir los efectos de sonido en el inspector. Entonces tenemos a los moribundos y ponemos al enemigo muriendo. Aplicar todo, guardar eso. Y pongamos al jugador aquí abajo. Estamos moviendo mucho al jugador. Así que ponlos aquí mismo, haga clic en play. Y ahora espera a los más grandes Ven y alberca. No, nada. ¿Nos olvidamos? Ah, nos olvidamos de añadir el evento. Tonta a mí. Entonces, vamos a morir. Y aquí mismo eso ha jugado un poco el clip. ¿ Dónde debemos agregar el sonido? caso de ser al principio o justo aquí, así como cae al suelo. Hagámoslo. Entonces en una función y donde debe ser estratificada? Jugador nueve, hecho más sonoro, CRC que llamé al jugador muriendo efecto de sonido. Yo lo hice. Por lo que enemigo muriendo efecto de sonido. En serio, hay una diferencia. Por lo que el enemigo muere, arena, hecho, haga clic en juego. A ver. El biggie viene nuestro camino y está bien, esa fui yo por cierto. No lo hace dos veces. Está bien, genial. ¿Qué más tenemos? A ver, capa recibiendo golpeado, lo cual es genial. Hagámoslo. Así que vuelve atrás y al guión de jugador. Por lo que como puedes ver, los pasos son muy básicos. Si aún no hiciste el reto y aún tienes otros efectos de sonido por completar. Adelante, pausa el video ahora mismo y continúa. Te he dado muchos ejemplos. Así que pausa el video y ve a hacer el reto. Oh, está bien, no se preocupe por ello. Entonces, vamos a ver. Llamemos a esto ser golpeado como afectos. Guarda eso. A ver dónde nos golpean? Una buena manera de hacer doble clic en él. Y si nos desplazamos hacia abajo, podemos ver donde esta fuente justo aquí. Y veamos ¿qué debemos hacer? ¿Qué debemos hacer? Piensa que simplemente podemos agregarlo justo aquí después, o podemos sumarlo gatillo. Entonces mi fuente de audio, dot play one shot y está siendo golpeado, siendo golpeado como f x Así que estos no son los nombres más creativos que puedo conseguirlos, pero lo harán por ahora. Ponerlo en eso, guardar eso en el muslo que, y vamos a ver. Por lo que nos encabeza. Está bien. Golpe de Estado. No está mal. Entonces ahora es lo mismo el conseguirlo y atacado? Oh no. Está bien. Está bien, genial. Y lo siguiente, así que sé que estos no son los mejores efectos de sonido. A lo mejor no te gustan, lo
mejor quieres conseguir otros efectos de sonido. Te animo a ir y mirar tus propios efectos de sonido hacia arriba. Existen muchos recursos que puedes encontrar para efectos de sonido gratuitos. Oh, bien, entonces, ¿qué más tenemos? A ver. Tenemos la explosión y la quema de la bomba. Ya hemos hecho la puerta abriendo y cerrando. Entonces hagamos el cierre. Vayamos a Unity y
veamos, tenemos que sumar, así que salgamos de puerta y tenemos que estar en la puerta. Entonces sigamos adelante y hagamos eso. Es un poco engorroso, pero vale la pena. Por lo que cerrando puerta como efectos. ¿ Y dónde debemos jugar? Se debe jugar en un evento. Sí, creo que un evento es bueno o podemos jugarlo justo aquí justo debajo del nivel de carga Iniciar cuando activamos la puerta cerrada. Y podemos hacer eso en realidad. Entonces sigamos adelante y agregamos una fuente de audio, clip de reproducción de
puntos en el punto y los efectos de sonido de las puertas de cierre. Ahora bien, no deberías estar haciendo tanto el evento como el y usando el clip de reproducción en punto. Pero solo estamos, bueno, no
deberías estar usando ambos y un evento
y reproduciendo directamente el clip de audio desde el código. Pero solo estamos haciendo esto por el bien de entender el alcance de jugar sonidos para todos nuestros juegos. Entonces lo entiendes todo. Y ahora cerrando puerta efecto de sonido. Y vamos a jugar esto agregar dominio de punto de cámara, punto, transformación, posición de punto. Enfriar. Copiar eso. O volvamos a la puerta y aquí mismo. Y sigamos adelante. Y como no tenemos ninguno, digamos código que reproduzca, no
tenemos nada que nos diga que el cierre de la puerta dentro de nuestro código tendrá que crear un método real para eso. Por lo que jugaremos cerrando puerta como efectos. Y vamos a seguir adelante y añadir la fuente de audio, no reproducir clip en punto de cierre. Está bien. No tenemos la brecha de cierre. Por lo que cerrando puerta como efectos. Copiar eso. Ponlo aquí mismo, y lo pondremos para cámara. El punto principal transforman la posición de punto. Guarda todo eso. Eso fue duro. Entonces vuelve a entrar en la puerta y vamos a añadir la puerta cerrada. Y vamos a aplicar eso porque olvidamos puerta de salida, puerta cerrada. Aplica eso, guarda todo eso. Haga clic en jugar. De acuerdo, así que dos puertas se abrieron por su cuenta. Se abre la puerta y si pasamos por ella, deberíamos escuchar el cierre debido. Está bien. Agradable. Muy cool. Entonces, ¿qué más tenemos? Bueno, aquí hay un poco de reto y no creo que lo haya puesto,
es el sonido de caminar. Entonces vamos a revisar el sonido de caminar. Bebo te doy como reto porque es un poco engorroso. Entonces veamos, ¿dónde está? El caminar. Entonces caminando, jugémoslo. Como puedes ver, es a dos pasos jugamos el camión. Camión. Camión. Camión. Está bien. Entonces, ¿dónde crees que deberíamos agregarlo? Por lo que he experimentado mucho con esto. Y la forma en que vamos a hacer eso es usar el evento, que será, ¿dónde está? Este error aquí mismo, podemos aclararlo. Se trata de algo de animaciones. No es tan grande de un trato. No se preocupe. Cualquiera que sea el error que no rompa tu juego por completo no es tan grande de una flecha Norte. Entonces vamos a ver mientras que la animación, o ¿dónde está el jugador? Y veamos caminar mientras que el correr, está bien, así que dentro de correr, vamos a añadir un evento y ese evento jugará el método que va a crear en este momento, que se llama pasos. Entonces veamos cómo vamos a crear pasos. En primer lugar, vamos a entrar en jugador y vamos a seguir adelante y añadir el caminar como f x. Guarda eso. Ahora, veamos dónde debemos agregar. Deberíamos crear un método Steps donde lo crearemos bajo la carrera de salto declinación y lo añadiremos en la carrera. De acuerdo, entonces llamaremos a este método pasos nulos como efectos. Y veamos qué deberíamos estar agregando aquí mismo. Entonces lo primero que vamos a hacer es que vamos a comprobar si el jugador se está moviendo horizontalmente. Tan bool, jugador moviéndose horizontalmente en. En tercer lugar, ese más corto toma dos L o solo una. Y usaremos el valor absoluto de punto F matemático. Ya lo hemos usado en algún lugar justo aquí. No estoy seguro. Tan absoluto fue simplemente escribirlo. Por lo que mi cuerpo rígido, D dot velocity dot x debe ser mayor que las matemáticas f dot epsilon. Entonces esto comprobará si nos estamos moviendo y verás por qué solo un n-bit. Entonces si el jugador se mueve horizontalmente, ¿qué debemos hacer aquí mismo? Bueno, deberíamos comprobar si nuestro jugador realmente está tocando el suelo. Entonces si jugador, quiero decir, mi Box Collider 2D está tocando capas. Con una Máscara de Capa, dot get mask. Será el terreno y estás rompiendo un poco de reglas aquí,
no, no copiando la referencia de cadena. No se preocupe. Es bastante fácil así que agregaremos la fuente de audio reproducirá un solo disparo, vale, del efecto de sonido caminando. Pero hay un giro porque si no nos estamos moviendo horizontalmente, vamos a hacer algo un poco raro aquí mismo. Y se puede encontrar que en la mi fuente de audio, quiero decir, en la Fuente de Audio, una documentación que es mi fuente de audio, punto stop. Y la razón por la que estamos haciendo esto es porque queremos que los efectos de sonido caminante solo se toquen si realmente estamos tocando el suelo. Porque a veces si estamos en el aire y nos movemos a la izquierda o a la derecha, podría jugar mal. Y la otra cosa que queremos, y por cierto, el sonido de caminar como has escuchado, es como una especie de pisar piedra. Entonces necesitamos eso. Por lo que necesitamos que nuestro jugador esté en el suelo. Y otra cosa es que necesitaremos tener, asegurarnos de que el jugador realmente se esté moviendo horizontalmente. Y si no se mueve, así es su velocidad es 0. Queremos realmente detener la reproducción de audio de inmediato. No queremos que los efectos de sonido caminante sigan tocando,
tocando , a pesar de que nuestro jugador ha dejado de moverse. Entonces, veamos si eso funcionó. Entraremos al jugador. Vamos a entrar en los efectos de sonido y vamos a añadir los efectos de sonido
caminar, caminar al sonido, al hecho, y aplicar eso. Y veamos si funciona. Guarda eso. Haga clic en jugar. Ahora. No, nada. Ah, nos olvidamos. Cada vez. Cada vez. Por lo que necesitamos hacer una nota mental de eso. Recuerda siempre usar el evento que has añadido a Michel. Entonces, ¿dónde está? ¿Dónde está? Pasos, pasos, sonido gordo, click en play. Y ojalá racional. Coop. Entonces como puedes ver, caminamos de consulta no, no, OK aunque. Por lo que hay un poco de bicho en nuestro juego, pero al menos el efecto de sonido de caminar funciona perfectamente bien. Ir tasa, dar click en inicio. Volvemos a iniciar el juego. Deberíamos estar detrás de la puerta. Todo efecto de sonido funciona perfectamente. Pasamos por la puerta en puerta se cierra, podemos entorpecerlo. Nosotros saltamos. Saltamos. Y todo funciona a la perfección. Correcto. Entonces espero que hayan disfrutado el video. Es un video muy, muy largo y por eso tuve que tomar un par de pausas en el medio. Pero espero que lo hayan disfrutado. Valió la pena. Hemos hecho de nuestro juego un juego mucho mejor y más fresco y una experiencia mucho mejor para el jugador. Y espero que lo hayas disfrutado y te veré en el siguiente.
49. Agrega la UI de los corazones: Bienvenidos de nuevo a todos a un video totalmente nuevo. Y como pueden ver aquí mismo, ya no
tenemos la vida. En realidad, podemos incluso, entremos a la escena, entremos a los textos de vidas y en realidad podemos apagarlo. Entonces vamos a dar click en play y ver qué hemos hecho en este video. Entonces ahora en lugar de un número, tenemos corazones justo aquí en la parte superior, lo cual es muy cool. Y hemos establecido los límites para recoger caliente. Entonces si nos levantamos por otro corazón, el número de corazones no aumenta. Vamos a coger la cabeza. Y como puedes ver, cuando nos golpean, perdemos una vida. Y si levantamos la ranura, aumentamos el corazón, lo cual es muy cool y hace de nuestro juego un juego real. Nos golpean una vez, nos golpean dos veces y cuando nos queda un corazón, ya no
podemos conseguir pegados porque vamos al menú principal. Entonces no perdamos más tiempo y eso llega a la k Así que empecemos agregando algunos sprites. Y vamos a entrar en los recursos y conseguir el bote salvavidas. Entonces arrastra la barra de vida y ¿dónde deberíamos ponerla? Pongámoslo en las pastillas. Entonces cuando las pastillas, vamos a tener esta barra de vida aquí mismo lo hará 34. Ahora tal vez lo hagamos más grande, aplicaremos eso. Y en todo caso, sigamos adelante y veamos qué tenemos que hacer. Lo primero que vamos a hacer es entrar en el Lienzo, clic derecho y añadir una imagen. Ahora dentro de imagen, veamos dónde está. Doble clic en la imagen. Está bien, está en algún lugar aquí arriba, justo aquí. Entonces lo vamos a poner por la vida. Saquemos el texto de vidas y simplemente lo pongamos aquí abajo, no nos desharemos de él todavía. Entonces, volvamos a hacer clic en la imagen y vamos a cambiar la imagen. Por lo que necesita una fuente que sea un sprite. Pongamos la barra salvavidas ahí mismo. Como puedes ver, no es muy efectivo ni genial en este momento. Tendrá que cambiar un poco eso. Aquí mismo. Se puede ver que podemos configurarlo a tamaño nativo. Entonces hagámoslo. Y ahora tenemos configurada la imagen. Pongámoslo un poco, y bajemos un poco las vidas. Podemos cambiar el tamaño si quieres. Hagamos esto un poco más pequeño, así que hazlo un poco más pequeño. Creo que eso está bien. Suficiente. Enfriar. Entonces ahora lo que necesitamos hacer es que necesitemos algunos corazones para representar se
quedarán con esto solo para asegurarnos de que todo esté funcionando y luego nos desharemos de él. Entonces representemos estos con corazones sobre ellos. Y lo haremos sumando tres hot ts. Entonces agregaremos gran corazón uno grande duro a m, gran corazón tres. Y todas serían imágenes. Entonces llamemos a esto la imagen del bote salvavidas, barra salvavidas. O ops de vida. Imagen de barra de vida duplicada una vez llamada a este corazón. Y en lugar de la barra en vivo se sumará el gran hot. Entonces ahora tenemos un gran corazón, lo
ponemos a tamaño nativo, y lo haremos más pequeño y ordenado que quepa dentro del corazón. Entonces hagámoslo más pequeño. Vamos a dar click en w, Y vamos a hacerlo también un poco más pequeño otra vez. Entonces encaja justo en este corazón justo aquí. Vamos a duplicar eso y ponerlo aquí mismo. Y vamos a duplicar de nuevo y ponerlo aquí mismo. Ahora tenemos tres corazones. Ahora lo que tenemos que hacer es antes que nada,
aplicar todo a la sesión de juego. Entonces tenemos los Corazones y necesitaremos tomar estos corazones y ponerlos como niños. Ok. Por lo que necesita abrir el prefab que es chil ellos a la imagen de la barra. Guarda eso. Y ahora tenemos todo preparado. Lo siguiente que tendremos que hacer es porque sólo tenemos tres corazones realeza. Tendremos que asegurarnos de que nuestro jugador, siempre que recoja corazones, nunca,
nunca pase por encima de los tres corazones. Entonces hagámoslo en Visual Studio. Aquí mismo en sesión de juegos. Veamos dónde le agregamos corazones. Entonces agregamos dolores aquí mismo. Y necesitaremos crear una condición if. Y esta condición nos dirá que si los jugadores viven es mayor o igual a tres, nuestras vidas de jugadores serán iguales a tres. ¿ De acuerdo? Entonces aunque recojamos siete corazones, comprobará si el jugador vive es más grande o más grande que o igual a tres. Simplemente lo volverá a poner a través de R3. Lo siguiente que tendremos que hacer es encontrar la manera de eliminar y agregar estas imágenes. El corazón está siempre que levantamos o perdemos una vida. Y lo haremos usando matrices. Y también usaremos con arrays algo llamado un bucle for. Ahora, estoy seguro de que si estás un poco arriba o sabes, un poco de codificación, ya sabes lo que son los loops, o estás familiarizado con el nombre. Pero en todo caso, los
repasaremos y les explicaremos cuáles son porque aún no tenemos y los puntajes. Entonces, ¿qué es un bucle for? Es similar a un para cada uno, pero repite un evento hasta que se cumpla cierta condición. Por lo que es útil al contar o iterar a través de matrices. Veamos cómo se ve la estructura de un bucle for. La estructura de un bucle for es algo así. Entonces tenemos los cuatro, tenemos un entero i que creamos justo dentro del bucle. Y tenemos un cierto límite que, e incrementamos el i plus N, Hacemos algo. Entonces, ¿qué significa esto? Un entero i, que comienza a partir de 0, o puede partir de algo diferente a 0. No importa. ¿ De acuerdo? Entonces tenemos el i will, el for loop seguirá iterando y haremos el algo justo aquí hasta. O mientras el i es más pequeño que este cierto límite y seguiremos aumentando el i una, dos veces, y tres veces. Por lo general el cierto límite es la longitud de una matriz que tenemos. Y vamos a iterar a través de todos y a través cada elemento dentro de esta matriz hasta que terminemos la matriz. Entonces me volveré mayor que el cierto límite y luego saldremos del bucle for. Por supuesto que te he dejado con los recursos de la documentación de un bucle for en los recursos. Por lo que sigue ejecutando el código dentro hasta que llegué al cierto límite. Y ya veremos cómo vamos a usar eso. En realidad vas a usar en un reto, pero no en este momento, click en Visual Studio, y aquí mismo tenemos el texto de partitura, los textos de vida. Y serialicemos un campo. Y haremos de este campo e imagen no sólo una imagen. Será un conjunto de imágenes y se le llamarán los corazones. Entonces ahora tenemos el corazón y vamos a la Unidad. Y deberíamos, de acuerdo, así que proyectar. Y en sesión de juegos, deberíamos tener este desalmado aquí mismo. Y simplemente haremos click en esos tres. De acuerdo, ahora, antes de que hagamos eso, entra en sesión de juego y anclado en este candado de aquí. Y elegamos los corazones y los arrastramos al corazón. Y ahora tenemos corazón, corazón uno y difícil de aplicar todo eso. Lo siguiente que tendremos que hacer es crear un método que actualice los corazones cada vez que o sumemos dos vidas o tomamos vidas. Entonces hagámoslo y tomemos el de Clive. Siempre que tengamos el menos, vamos a actualizar corazones. Y cuando eso es copia que actualizan corazones. Y siempre que sumemos dos vidas, aquí mismo, vamos a actualizar corazones. Y ahora sigamos adelante y creemos el corazón de actualización va a ser vacío y los corazones de actualización. ¿ Y qué debemos hacer dentro de ella? Bueno, va a ser parte de tu reto. Tu reto es terminar el método de actualización corazones. Necesitamos activar o desactivar nuestros corazones en función de cuántas vidas de jugadores nos quedan. Entonces te daré una pista. Use para bucles para iterar a través de la matriz de corazones. Ya te he dado esa pista especie de y con una condición si que comprueba cuántas vidas nos quedan. Por lo que este es un reto un poco desafiante. Es, es para lo que están los retos. Y porque vas a ser tu primera vez usando un bucle for y es un poco complicado. Me tomó un poco de tiempo descubrir cómo desactivar y habilitar las heridas. Pero estoy seguro de que si le das toda tu concentración y toda la atención, puedes hacerlo. Así que pausa el video ahora mismo y ve a hacer enseñar caldeo. Bienvenido de nuevo. Por lo que espero que hayas intentado lo mejor posible. Sigamos adelante y tratemos de actualizar los corazones. Entonces. A ver, necesitamos crear un bucle for que verifique las vidas de los jugadores. Y el, si el jugador vive son cierto número necesitamos activar o desactivar el hot. Entonces sigamos adelante y lo primero,
primero, creamos un bucle for. ¿ Y qué debemos tener dentro de este for loop? Bueno, seguiremos la forma tradicional de bucles para. ¿ Y cuál es el límite? Entonces, ¿dónde debería, cuál es el límite que debemos apuntar a un incremento? Entonces va a ser yo, va a ser menos que la matriz del corazón puntee la longitud de la matriz de corazones. Y vamos a incrementarnos en uno cada vez. Entonces veremos a través de toda la matriz de corazones que hemos creado aquí mismo, que son nuestros corazones que hemos agregado en el inspector. Lo siguiente, lo siguiente que tendremos que hacer es revisar las vidas del jugador. Entonces si tenemos yo, ok, vamos a mover esto. Si tenemos yo menos que el número de vidas de jugadores. ¿ De acuerdo? Vamos a hacer que el corazón en la posición i punto i habilitado sea igual a verdadero. Por lo que seguiremos habilitando los corazones que mostrarán una hora inspector o en nuestra imagen. Es decir, no el inspector de nuestra imagen en el Lienzo. Se habilitarán siempre y cuando el i sea más pequeño que el jugador vive, lo
contrario, apagará los corazones. Entonces es, yo, bueno, pensé que habilitado será igual falso. De acuerdo, entonces veamos qué pasa aquí mismo. Tenemos en primer lugar, el for loop, y este for loop pasa por todo el interior de Vi Hart del array de imágenes que tenemos. Entonces, y empieza a partir de 0 y se incrementa por uno cada vez con el I plus. Entonces tenemos los corazones que punto incapaz. Y qué hace esto si entramos en Unidad, podemos ver que si elegimos uno de los corazones, por ejemplo, el primero, realmente podemos desactivarlo. Y eso significa que el habilitado es igual a falso. Si lo encendemos, eso significa que el incapaz es igual a verdadero. Entonces, ¿qué pasa aquí mismo en la condición if? Empecemos. Por ejemplo, tenemos este i igual a 0. Tenemos la IA debe ser, el límite de la IA debe ser la longitud del corazón e i se incrementa cada vez en uno. Entonces digamos por ejemplo, tenemos el jugador vidas es igual a dos al i arranca en 0. ¿ El 0 es menos de dos? Es, eso significa que habilitará al primer corazón ya que se incrementará en uno y luego seguirá haciendo el bucle. Entonces, ¿soy menos de uno? Es, quiero decir, como yo igual a uno, ¿es menos de dos, cuál es el número de vidas de jugadores? Lo es. Por lo que se incrementará y vamos a sumar el segundo corazón. Y entonces i incrementos es, me convierte en dos, es dos menos que jugador miente con sólo dos. No, no lo es. En realidad es igual a dos. Eso significa que usaremos lo demás y el corazón final se habilitará igual a falso, menos probado y ver si funciona. Espero que lo haga. Es un poco confuso. Haga clic en jugar. Y eso detuvo el juego justo aquí. Para que podamos puñetazos, tú, entrar por la puerta, nosotros cogemos, ellos no aumentan. Si nos golpean, ojalá uno de los corazones desaparezca. Y lo hacen. Y como pueden ver aquí mismo, tenemos dos. Intentemos eso otra vez. Nos golpean de nuevo. Tenemos una vida más que es recoger mi vida y ver si se actualizan. Hacen actualización. Muy bonito. Entonces espero que hayas disfrutado del lado del video, pero sobre un video corto y como puedes ver, el, porque hemos atracado el lienzo bajo sesión de juego, es persistente de nivel a nivel. Entonces espero que hayan disfrutado el video. Espero que disfruten de toda la sección de este curso y los veré en el siguiente.