Transcripciones
1. Introducción: Oye ahí y
bienvenidos a mi curso de hacer tu
primer juego móvil usando el
motor de juegos Unity integrado con el lenguaje de
programación orientado a objetos C Sharp. juegos móviles son una industria de 1.000 millones de dólares en rápido
crecimiento. Y en 2021, los
juegos móviles de alerta representaron el
59% de los ingresos totales de la
industria del juego a nivel mundial. Crear un juego divertido e interactivo y ser una fuente increíble
de ingresos pasivos. Y las habilidades necesarias para desarrollar juegos o software en general, están en alta demanda en
este momento que nunca. Si has tomado la
sabia decisión aprender a desarrollar juegos
móviles, pero haciendo un mojado para empezar, has venido al lugar correcto. En este curso, cubriremos todos los conceptos básicos de la inmunidad
C-sharp, lo que te permitirá hacer de
tu juego soñado una realidad sin absolutamente ninguna
experiencia previa requerida. También cubrirá todos los aspectos principales del desarrollo
y diseño de juegos
móviles, desde bucles de juegos hasta sistemas de menús y obtener retroalimentación
para agregar integración. O como se dijo antes, estaremos construyendo nuestro juego usando el motor de juego Unity
integrado con C-sharp, Una de las herramientas más utilizadas como intuitiva para desarrollo de juegos
móviles,
ambos agua. Después de completar este curso, construirás tu
primer
juego monetizable de Fanta y adquirirás las habilidades
y conocimientos para mejorar y cambiar el
juego para que sea euro. Además, habrás
creado esta línea negra, ¿verdad? Construir un juego móvil puede
ser un tablero de tareas complicado. El guiado de una experiencia, orina si te mudas a donde
sea será mucho
menos intimidante. ¿ A qué esperas? Invierte en ti mismo para aprender los conceptos básicos del desarrollo
móvil, puedes empezar a hacer
tu primera reunión.
2. Preparación: Oye ahí y bienvenidos. Ahora, como se mencionó en
la lección anterior, las herramientas que vamos a
utilizar para seguir adelante, viaje de
desarrollo de juegos, nuestra unidad y c-sharp, que son verdaderas, poderosas, confiables, y lo más importante, herramientas gratuitas para el desarrollo de juegos. Para comenzar este curso,
necesitarás tener Unity instalado así como el editor de
scripts como Visual Studio para codificar C-Sharp en el proceso de instalación para ambos es bastante simple. No obstante, voy a repasar
brevemente para evitar cualquier posible
error que pueda surgir. En primer lugar, dirígete a unity.com, forward slash download para descargar la última
versión de Unity Hub. Selecciona cualquiera de los enlaces de
descarga azules presentes en la pantalla que se ajuste a tu plataforma y sigue el
proceso de instalación a partir de eso. Esta aplicación te
permitirá agregar, eliminar y actualizar diversas instalaciones
de unidad en tu dispositivo. Luego lanza Unity Hub y
asegure que se compruebe la versión de Unity que está instalando como desarrollo
móvil. Demostraré
este proceso
instalando la última
versión de Unity
disponible actualmente en mi dispositivo
revisando el modo Libros Android
e iOS, aceptando los términos y
condiciones y haciendo clic en sí, si aparece un mensaje, entonces
comenzará
la instalación. Una vez hecho eso,
dirígete a Visual
Studio.Microsoft.com, forward slash
descarga el editor de código
propio de Microsoft de descarga. Haga clic en el botón
Descargar Gratis bajo el título de la comunidad para instalar la última versión
de Visual Studio. Una vez que se haya descargado
e instalado, estarás listo para comenzar a desarrollar tu
primer juego móvil.
3. Lo básico: Oye, ahí. En nuestra última lección, instalamos
Unity y Visual Studio. Y al hacerlo, establecer nuestro entorno de
desarrollo. Ahora necesitamos crear el archivo de proyecto para
nuestro juego móvil. Para comenzar a lanzar Unity Hub y selecciona el
botón azul Nuevo debajo de proyectos. Una vez que aparece la
ventana de creación, ingresa nombre para tu juego móvil y selecciona la ubicación
del archivo de tu proyecto. Después de esto, se asegura de
seleccionar la plantilla 2D. Evita cualquiera de las plantillas
móviles generadas automáticamente ya que no
las vamos a utilizar para este curso. Una vez que hayas terminado,
selecciona Crear, Nueva Jersey generará un proyecto
completamente nuevo para ti. Esto puede llevar algún tiempo, por lo que preparado para esperar un rato. Una vez que tu proyecto se está
creando en Unity se carga. Lo primero que vamos
a hacer es asegurarnos de que Visual Studio esté configurado
como nuestro editor de código. En la parte superior de tu pantalla,
selecciona Editar preferencias. Entonces una vez que esta ventana aparece, ve a herramientas externas y
asegúrate de que la versión de Visual Studio que
instalaste esté seleccionada como editor de scripts
externo. Si no es y no es una
de las opciones desplegables, seleccione la opción de navegación
y busque y haga doble clic en el archivo EXE de puntos desde su ubicación
instalada de Visual Studio. Antes de empezar a entrar en el diseño del Editor de Unity, voy a empezar con pocos conceptos relevantes para los alcoholes, que deberían hacer todo
fácil como yo entiendo. Empezaré con lo básico. Obviamente, vamos a estar usando Unity como nuestro motor de juego. Si este término no es familiar, solo piénsalo como
una herramienta que utilizamos para simplificar algunos de los aspectos
del desarrollo de juegos. Bueno, esto sí hace que algunos de
nuestros
obstáculos de desarrollo de juegos sean más fáciles. Inevitablemente tendremos que escribir nuestro propio código y
lógica. En algún momento. Estaremos escribiendo este
código en Visual Studio, los codificadores que
instalamos anteriormente. Esto básicamente formateará
y codificará por color toda nuestra lógica para que sea más
fácil de analizar y entender. Estará escribiendo
el código real en el lenguaje de
programación c-sharp. cubrirán ampliamente los fundamentos
de todas
estas herramientas este curso
secubrirán ampliamente los fundamentos
de todas
estas herramientas. Así que no te preocupes si algo
suena desfamiliar. Encima de esto,
hay algunos conceptos de unidad y c-sharp
que serán útiles para entender antes
de empezar a beneficiarse, ganarás muchos de los
conceptos y c-sharp puede ser más útil para quienes lo hacen saber cómo desarrollarse
en cualquier idioma. Entonces, si tienes alguna experiencia en
codificación, es posible que puedas saltarte algunos de los siguientes puntos. Mientras codifica. Y c-sharp es un tema increíblemente
largo que no se
pudo explicar en
ningún corto período de tiempo. Algunos conceptos pueden ser útiles para saber antes de
empezar a desarrollar, comenzarán con procedimientos. Procedimientos generalmente
identificables a lo largo este curso por la
palabra clave void, o áreas de nuestro código
que llamamos en ciertos momentos para
realizar ciertas tareas, como el cálculo de escuelas secundarias para generar segmentos de mapa. El otro
concepto principal de codificación que vamos a cubrir antes de
empezar son variables. Se puede pensar en variables. Es como espacios de almacenamiento para
diferentes tipos de datos. El tipo de datos que se
pueden almacenar está determinado por el
tipo de variable. Por ejemplo, una
variable entera para almacenar un número y una
variable de cadena almacenará texto. Ahora en unidad, hay
algunos conceptos más que pueden ser útiles para
entender antes de comenzar. Un objeto es cualquier cosa en nuestro juego a lo que podemos
asignar lógica, como el personaje
potenciará la escuela. Cuando nos referimos como sprite, nos referimos al
diseño artístico para un personaje. Además, como se ve
como unidades forma de diferenciar entre
secciones de tu juego, como la sección de menú principal de
la sección de selección de nivel
en diferentes niveles. Y de nuevo, sin embargo, es posible crear tu
juego y una sola escena. Y por el bien de la simplicidad, lo
estaremos haciendo
en este tutorial. Esto no es un problema
para nosotros porque nuestro juego no va
a ser incorrectamente exigente si no estuviéramos haciendo un shooter en primera persona
con gráficos increíbles, sin embargo, usando múltiples
escenas, estaríamos asesorado. Por último, cuando nos
referimos a activos, nos
referimos a archivos que utilizamos en nuestro juego como PNG se archivos MP3. te preocupes si todo esto
parece un poco ya que vamos a repasar esto a
lo largo del curso, lo único que
hay que estar hundiendo en el momento son los conceptos
básicos, básicos de
unidad y C- afilado. Ahora que hemos
repasado los conceptos básicos de nuestro motor de juegos y lenguaje de
programación. Empecemos con el
diseño del editor de Unity. Cuando no dispares,
la primera vez, serás recibido por esta puerta de diseño
bastante intimidante. Si eso parece confuso
o complicado ya que se familiarizará mucho
más con el tiempo. Además, muchas de
las características que puedes ver un editor que no
necesitaremos en este curso. En la parte superior
del Editor de Unity hay un menú donde te pueden gustar
muchas otras aplicaciones, guardar tus
archivos de carga de proyecto, acceder a ayuda, etcétera Entraremos a este menú más tarde, pero es lo que
vas para estar utilizando principalmente para navegar por la unidad. Debajo de esto, tenemos
nuestra jerarquía de escenas. Esta es una lista de todos los objetos
actuales en nuestra escena. Aquí es donde
almacenamos todo. Soy un juego desde nuestro personaje hasta un mapa componentes a nuestros objetos de diseño
visual. Con algunas excepciones más
complejas. Si un objeto no se muestra
en la jerarquía de escenas, no estará en, en nuestro juego. Debajo de esto,
tenemos un menú de activos, que es una lista de
cada archivo almacenado en nuestro directorio de juegos. Si queríamos añadir una canción a nuestro juego o un sprite personaje importamos a esta
ubicación en el editor de Unity, que luego nos
permite agregarla a nuestro juego. la derecha está el inspector de
objetos, lo que nos permite retocar las diversas propiedades
de los objetos en nuestra escena. Esto incluye su posición
en nuestra escena, tamaño, rotación, la lógica que les
han asignado, cómo se ven, etc. Finalmente, en el centro del
aditivo, tenemos nuestro CGI. Esto nos permitirá ver
cómo se prueban el juego y la acción, probar visuales y mucho más. puedes pensar como un adelanto de lo que verán nuestros jugadores
cuando jueguen nuestro juego, lo que nos permite probar nuestro proyecto sin
construirlo, todo el tiempo. Ahora la ubicación y el tamaño
de todas estas áreas en tu editor pueden diferir
dependiendo del diseño de tu ventana. Si estás usando el diseño
predeterminado como yo, lo harás, deberías lucir similar, pero puedes cambiar
esta capa a medida que te
vuelvas más familiar para
ver qué funciona para ti. Nuevamente, si todo esto se siente
intimidante, no te preocupes. No hace falta
recordar todo lo que hemos pasado
en este video, pero puede ser beneficioso
verlo de nuevo, ya que puede entender
algunos de los conceptos, la segunda vez. Esto no se requiere de ninguna manera. No obstante, como cubriremos todos estos conceptos básicos a
lo largo del curso cuando nos encontremos con ellos.
4. Crear nuestro personaje: Oye ahí y bienvenidos de vuelta. Los últimos tres
videos que hemos cubierto la introducción a mi curso, los fundamentos de la unidad y c-sharp configurando nuestro entorno de
desarrollo, todos los conceptos que
necesitamos saber. Pero ha
llegado el momento de que
empiece realmente a crear
nuestro juego móvil. Ahora si miras mi pantalla, verás que estoy usando el diseño predeterminado del editor de Unity. Y bajo activos
tengo todo lo que se genera automáticamente cuando
haces tu proyecto. Y este curso Assets carpeta, que ustedes no tendrán. Todo este curso
Activos carpeta es, es, son todos los activos. Por lo que la corriente es
solo archivos PNG, pero más adelante cuando añada juego
múltiple también
serán los MP3s y befores. Si pudiera necesitar esos, cualquier cosa que
necesitaré para mi juego y todos esos activos voy a enlazar debajo de este video bajo
la sección Recursos. Tienes que hacer es
que necesites encontrar la sección
de recursos de este video, descargar los activos del curso, archivo
zip, extraer el archivo zip, por lo que solo tienes
una carpeta normal. Necesito poner esa carpeta dentro de
la carpeta de activos de
tu proyecto Unity. Y después de que lo hayas
hecho, tu pantalla debería verse exactamente igual a la
mía en los activos. Ahora nuestra primera tarea en Unity
va a ser crear
nuestro personaje. Esto no va a
ser increíblemente caliente por
el momento porque no
vamos a añadir ninguna lógica compleja. No vamos a
añadir ningún guion. Sólo vamos a hacer el personaje que
vamos a utilizar como personaje principal para
el resto del curso. Lo vamos a hacer pasando por
aquí a la jerarquía de objetos, haciendo clic con el botón derecho y
seleccionando el Crear vacío. Ahora vamos a
nombrar a nuestro jugador. Le estoy nombrando play up. Y a la derecha por
aquí podemos ver todas
las propiedades que este
objeto tiene actualmente. Actualmente su posición
sobre el eje x, eje y y eje z, que realmente no vamos a
utilizar porque es un juego 2D. No obstante, sí
te recomiendo que siempre hagas este 0. Ahora, lo que vamos
a necesitar hacer es que
vamos a necesitar
seleccionar esta herramienta aquí, que es la herramienta de movimiento. Esto dependiendo de tu versión de Unity, debería estar por aquí. Si tienes una
versión anterior, podría ser aquí arriba, pero encuentra la herramienta Mover y vas a tener que
arrastrar esto donde quieras. También puedes hacerlo con solo
cambiar estos valores. Pero obviamente no podemos
ver nada todavía porque este objeto no
tiene nada asignado a él. Para que sea realmente
nuestro personaje. Vamos a añadir
un renderizador de sprite, que nos permite agregar un sprite
que cubrimos anteriormente, un archivo PNG a este objeto. Ya lo escribí, pero para tu caso, escribiendo sprite renderer y
selecciona éste por aquí. Y puedes ver por aquí esta debería ser toda la
configuración predeterminada que tengas. Y hay un sprite
por aquí que actualmente no tiene nada
asignado. Estas casillas de
aquí es lo que vamos a asignar sprites
o archivos de audio, cualquier cosa a cuando estamos agregando estos componentes a nuestros objetos. Obviamente, vas
a la carpeta de
activos del curso si la
estás usando. Y vamos a querer
hacer nuestro sprite a-cuadrado. Por lo que haga clic en el jugador. Y vamos a
arrastrar esta plaza todo el camino por ahí. Ahora mismo. Más bien grande. que podrías tener un problema Con elque podrías tener un problemasi estás tratando de
hacer un juego móvil. Entonces vamos a cambiar
realmente esta propiedad por aquí
en todos nuestros activos. Selecciona el círculo, mantén pulsado, desplaza el cuadrado
y el triángulo. Y vamos a hacer los
píxeles por unidad con 10000. Una vez terminado eso,
deberíamos tener un brillante mucho más pequeño. Ahora podría seguir escalando
eso hasta que lo necesite, pero en su lugar, seleccione
esta herramienta Rec. Entonces haga clic aquí, mantenga pulsado
turno y muévelo
así para que pueda escalar
mi sprite como sea necesario. Ahora mismo, eso es un sprite
mucho mejor. Yo diría que quizá los
hagamos un poco más grandes. Eso es mucho mejor. Por cierto,
cabe señalar que estoy navegando por el editor de
Unity usando mi rueda de desplazamiento para acercar y
alejar y mantener pulsado el botón derecho
para moverme por la escena. Así es principalmente como
navego por el editor de Unity. Hay formas diferentes,
pero esa funciona para mí. Entonces podemos ver que la escala establece estos valores muy grandes de gripe y se establece
la escala z
que no necesitamos. Entonces hagamos ese 0. Y hagamos estos 300.32. No altera ni
igualar la cantidad, y es simplemente más fácil para la computadora
almacenar esos valores. Justo aquí tenemos nuestro
sprite, él es sólo un cuadrado. Si hacemos clic en esta
ventana de juego por aquí, podemos ver cómo se
verá esto una vez que jueguemos el juego. Y de hecho, si hacemos clic en
este botón Jugar en la parte superior, pondrá a prueba nuestro juego y
básicamente lo ejecutará todo. Y podemos ver obviamente
es sólo un sprites. No se va a
mover, pero
así se verá nuestro personaje en el juego. Lo importante a
tener en cuenta es que si hago algún cambio durante
esta ventana de juego, no lo guardan. Por ejemplo,
lo hice muy largo y luego
hice clic aquí. Ese cambio no va a salvar si lo hiciera en la vista de escena, sin embargo, se traspasaría. Así funciona Unity. Puedes hacer pequeños cambios en tu juego mientras lo
estás jugando. Puedes probar cómo funcionan y luego veré
que no vas a ahorrar. Así que ten en cuenta eso. Ahora, nuestro personaje está más o menos
hecho en su mayor parte, hemos hecho casi
todo lo que
podemos no podemos hacer mucho más a él en este momento
porque no hemos aprendido ningún otro concepto. Pero por ahora, lo
único que vamos a hacer es
cambiar su color. Hagámosle un bonito personaje
amarillo. Como podemos ver que se destaca un poco mejor en nuestra escena. Conseguí nuestro carácter amarillo
contra el fondo azul. No quiero que mejorará
toda esta capa. Pero si seguiste, deberías haber creado
tu primer personaje con un componente de
renderizador sprite jugador fuera del orgullo de las plazas,
o tu propio sprite. Pero te recomiendo usar
la carpeta oficial
Assets del curso y cambiar el
color a lo que quieras. Incluso puedes
hacerlas verdes o azules. Voy a seguir con
los otros fenólicos. Me gusta cómo se ve eso. Si lo has
hecho, has dado el primer paso para hacer
tu juego móvil. Lo siguiente que
vamos a hacer es crear un ambiente para este lugar. Así que no sólo está parado
en medio del abismo, sino buen trabajo a todos. Y te veré
en el siguiente video.
5. Diseño de un entorno: Oye ahí, y bienvenidos de
nuevo a la unidad. En nuestro último episodio, creamos este objeto jugador y asignamos la posición y la
escala así como un sprite y un color
a este objeto. Lo que vamos a hacer en
este episodio, sin embargo, es que vamos a crear
un ambiente para que nuestra escena se vea un
poco más viva. Antes de hacer eso, primero
debemos asegurarnos de que nuestra versión de Unity esté realmente construyendo para la plataforma
correcta. Nosotros queremos. En este caso, móvil. Voy a ir a la parte superior izquierda
y seleccionar Archivo, Configuración de
compilación, y luego
elegir una plataforma por aquí. Puedo seleccionar Windows
dedicado varios Android como esos los tres módulos de plataforma que instalé para esta
versión de Unity. Si quisiera construir
para otra cosa, simplemente podría
seleccionar y hacer clic en Aislamiento del módulo de
plataforma o para los más simples como iOS, puedo seleccionar Instalar
con Unity Hub. Playstation parece tener alguna documentación rara necesaria, pero obviamente no nos
vamos a preocupar por eso. Yo, sin embargo, voy a
estar arrancando mi juego para Android ya que me pareció mucho más fácil probar, te
recomiendo exactamente lo mismo. Incluso si tienes un teléfono
iOS como Audrey, voy a hacer clic en
Switch Platform y ofreceré un corto tiempo de carga. Debería asegurarse de
que mi proyecto pueda ejecutar unity para Android. Vamos a entonces cerrar
esto y entrar en una vista de juego. Podemos seleccionar la
resolución correcta que queramos. Actualmente he puesto el mío
en 2160181080 paisaje. Usted puede seleccionar prácticamente el que quiera uno de estos. Puedes hacer 1920 por
1080 o incluso retrato, pero no te recomiendo que lo
hagas para este curso porque solo reiniciando
nuestro paisaje de juegos. Ahora tenemos la relación de aspecto
correcta. Vamos a hacer
nuestro entorno, pero no queremos que cada objeto de
entorno que hagamos esté aquí en una lista porque eso se va
a poner muy confuso. En cambio vamos a
pedirlas un poco. Lo vamos a hacer
usando carpetas u objetos
padre en un clic derecho
y seleccionamos Crear vacío. Vamos a llamar a
este ambiente. Y esto básicamente
va a almacenar cada
objeto de entorno único que queremos. A continuación, haga clic derecho en esto de
nuevo y haga clic en Crear vacío Y podemos ver que porque
escribimos clicado derecho
sobre el objeto, va a crear un objeto
hijo debajo de él. Podemos llamar a este flujo. Entonces podemos ver si
movemos el medio ambiente, el flujo se mueve con él
porque está parentado. Vamos a establecer
el medio ambiente en 0. Vamos a seguir adelante
y arrastrar el piso hacia abajo. Ahora lo que tenemos que hacer es
agregar un renderador de sprite. Abre los activos del curso,
arrastra el cuadrado. Y voila, tenemos un piso
muy cuadrado. No queremos que el flujo cuadrado. Queremos un piso más, piso. Así que vamos a lograr
esto arrastrando el eje y hacia abajo y
el eje x a través para asegurarnos que el flujo de salida se estire
horizontalmente a través de todo nuestro. Ver. Si vamos a la vista de juego,
podemos ver que de hecho está cubriendo toda la
mitad inferior de nuestra pantalla. Entonces lo siguiente que
queremos hacer es agregar un fondo o un
cielo, si quieres. Voy a ir entorno, hacer clic derecho y
crear movimiento vacío y llamar a este fondo. Una vez más en un renderizador sprite, arrastra el cuadrado
y escalarlo hacia arriba. Problema con esto, sin embargo, es que esto va a ir
delante de cualquier otro objeto que
tengamos en nuestra escena. Para evitar esto, lo que
vamos a hacer es que vamos a cambiar este orden en atributo de capa que se adjunta
al renderador sprite. Si ponemos esto a
algo así como menos diez, podemos ver que tanto nuestro jugador nuestro piso saltaron
por delante del objeto. Obviamente el flujo
es blanco como es esto. Realmente no se puede ver
eso, pero confía en mí, tienen si muevo
esto y lo hago gris, podemos ver los pisos
de hecho al frente. Así que voy a hacer que el
fondo tal vez azul oscuro. Y vamos. Lo último es hacer de
nuestro piso otro color, así que haré verde la gripe. Podemos ver que hay todo muy cuestionable buscando esquema de color de juego
móvil. Y hemos hecho un ambiente muy
básico, pero no vamos
a parar ahí. Queremos sumar
algunos objetos más. Ahora, podemos seguir haciendo
objetos como lo he estado haciendo todo este tiempo todo lo que
podemos simplificar un poco el
proceso. En realidad podemos
tomar estos activos y simplemente arrastrarlos
a nuestra escena. Y van a crear
un objeto con un renderizador sprite para
nosotros de forma automática. El problema es que este objeto no está en la carpeta Entorno que
creamos anteriormente, así que solo voy
a tener
que arrastrar eso y colocarlo ahí. Y se puede ver que se mueve para escribir exactamente
lo que está destinado a ser. Entonces solo voy
a escalar esto hacia abajo, tal vez hacerlo 0.7
por 0.7 fue
asegurarme de mantener la escala x
y la y igual si
no quieres estirar las cosas y eso en realidad
no es lo suficientemente grande. Entonces déjame hacerlo no
menor que 0.40.4. Entonces lo voy a mover
hacia abajo y podemos ver voila, tenemos un pico. Hagamos que este pico lea. Ahora este es un pico muy pequeño y no quiero una vez
más cinco, quiero tres. Entonces, lo que voy a hacer,
voy a seleccionar este objeto. Voy a hacer clic en Control
C. Voy a golpear Control V, y va a
hacer una copia exacta del objeto en la misma posición
exacta. Entonces vemos, no podemos verlo ahora, pero si lo arrastramos hacia fuera, voila, ahí está nuestro segundo pico
y en realidad podemos hacer esto dos veces y hacer tres picos, lo que se ve mucho mejor. Ahora lo que vamos a hacer
es que vamos a
seguir adelante y hacer clic en nuestra vista de juego
para que podamos ver cómo se ve. No se ve mal. Creo que lo que voy a
hacer es seguir
adelante y seleccionar el flujo,
seleccionar esta
herramienta rectángulo y luego arrastrarla hacia abajo para que esté cubriendo toda la mitad
inferior de la pantalla, que se ve un poco
mejor en mi opinión. Lo último que vamos a
hacer es añadir algunas monedas. Entonces vamos a usar
ese método más veloz que descubrimos arrastrando justo adentro. Solo voy a
escalarlo usando la herramienta rectángulo. Y voy a poner
eso por ahí. Creo que mis colores de moneda
deben ser de oro. Eso es naranja.
Funcionará. Raro. Oro, naranja
va a ser mi color. Voy a hacer exactamente lo
mismo que hice con los triángulos y simplemente copiarlo y
hacer tres monedas. Entonces voy a
seleccionar los tres de estos círculos manteniendo presionada Shift y poniendo eso dentro
del entorno de nuevo. Ahora podemos ver que nuestro
entorno está todo almacenado en este objeto. Entonces cuando movemos el objeto, todo
el entorno
y se mueve con nosotros. Esto podría ser útil
si quisiéramos hacer un juego extraño donde el entorno se mueva
pero no el jugador. Pero para nuestro caso, este va a ser un objeto
bastante estático, solo
se utiliza para almacenar todos
estos diferentes objetos de entorno. Ahora lo último que
creo que deberíamos agregar es quizá un
poquito de detalles. Así que lo primero que
voy a hacer es hacer esto un poco más ligero porque no me gusta
exactamente cómo se ve ahora. Obviamente voy
a querer simplemente ajustar estos
presionando Shift y simplemente moviéndolos lentamente hacia arriba así. Haz lo mismo con las monedas para que se vean un
poco mejor. Lo estamos, y voy a poner
al jugador en el suelo, por lo que en realidad
parece un juego. Ahora nuestro entorno se
ve mucho mejor ahora, pero quería mover
cada cosa, incluido el jugador un
poco a la derecha. Pero en lugar de hacer eso, creo que voy a mover
mi cámara a la izquierda. La cámara va a
ser lo que está capturando cada objeto
en la escena. Podemos ver que si lo muevo, podemos ver la vista previa en la
parte inferior derecha está cambiando. Entonces si quisiera hacer una
cámara sigue guión, obviamente mueve esto
y la cámara capturaría diferentes
partes de la pantalla. Voy a mover eso ligeramente
a la izquierda, tal vez ahí. Y todo está
mirando un poco mejor. En mi opinión. El medio ambiente se hace básicamente. Obviamente, vamos
a necesitar agregar un poco de lógica a todos estos
componentes en un poco. Pero vamos a llegar a
eso más tarde en el curso. Las monedas y las cosas realmente
no hacen nada. Ahora, podríamos jugar todo venir sólo
se sienta ahí apilando. Pero hemos dado
los primeros pasos para construir nuestro entorno
usando Unity. Buen trabajo, y
te veré en el siguiente video.
6. Introducción a la física: Oye ahí y bienvenidos de nuevo a la
unidad en la pérdida en realidad, como estoy seguro que
recuerdas, creamos este entorno de
búsqueda muy cuestionable para un juego móvil. Lo que vamos a hacer
en este episodio, realidad
vamos a eliminar algunas de las partes
del entorno que
hacemos empezar un poco
demasiado complicado para donde estamos en este curso. Y vamos a asignar
lógica a los que se fueron. Podríamos sonar como si
estuviéramos moviendo hacia atrás, pero no lo estamos porque el
punto del último episodio no
era una enseñarte a
hacer este entorno exacto. Fue para enseñarte a
hacer nuevos sprites, agregarlos, GO game, y ordenarlos
usando esos objetos padre. Pasamos,
adelante y eliminamos todas
las monedas y los
picos en tus escenas. Tienes apenas el piso del fondo y
el jugador se fue. Entonces puedes querer
tomar tu plan. Vas a moverlos hacia arriba para que estén
suspendidos en el aire. Ahora, este poco de un
paso preventivo, pero créeme, he dado múltiples tomas
de este video ahora y cada vez
que no hago esto, significa que no puedes DC una de las cosas que
estoy demostrando, seguir adelante y tomar el
fondo y vas a querer
que eso sea mucho más oscuro. Lo mismo con el piso y
lo mismo con el plano. Ahora esto no se ve
muy bien. Sí, estoy de acuerdo. Pero esto es muy
importante porque
quiero demostrar algo
con un nuevo componente. Y este componente en realidad
la forma en que lo ves tiene un contorno verde
alrededor del objeto. Y no vamos a poder ver que
a menos que tengamos colores más
oscuros, hay
más contraste. Porque obviamente
tenemos biblioteca
y biblioteca y amarillo claro, que es probablemente los
tres peores colores a tener contra el verde claro
en términos de contraste. Así que voy a seguir adelante
e ir con mi jugador. Ahora que he hecho mi
cosa un poco más oscura, y quiero ir y
agregar un componente. Y voy a sumar con colisionador de caja
fría 2D. Ahora, estoy seguro como viste, había dos ambos
desorden aquí que podemos seleccionarlo desde el
planeador jefe y la nube de caja 2D. Casi siempre que este sea el caso cuando
buscamos componentes, si hay una opción 2D, vamos a querer usarla porque estamos haciendo un juego 2D. La opción 3D no
funcionará como más adelante. Vamos a añadir un
cuarto de objeto cuerpo rígido. También hay un cuerpo rígido
2D y vamos a usar el cuerpo rígido 2D
porque está construido para juegos 2D, al
igual que estamos haciendo. Quiero seguir adelante y
elegir la caja colisionador 2D y dar click en eso. Y eso va a
añadirlo a nuestro objeto. Y aquí se puede ver ese contorno verde del que
hablaba. posible que no puedas
verlo en este video, pero deberías poder
verlo en tu pantalla. Debe haber un
contorno verde alrededor de su planta. Ahora, este esquema es en realidad
el colisionador que acabamos de agregar. Entonces aquí están el Planeador de Caja 2D. Podemos ver que tenemos un
material de colisionador se disparará usado por hecho que usaron por tamaño offset
compuesto. Todas estas propiedades,
esto básicamente cambia cómo funciona el colisionador
y se ve en nuestro objeto. Alkali por aquí es realmente
perfecto para nuestro jugador. Es exactamente alrededor del jugador. El motivo por el que esto
ocurre es porque el jugador tiene exactamente el
mismo tamaño que el sprite. Ahora este no siempre es el caso. Obviamente en otros activos del
curso, podemos ver que esta plaza
está llenando exactamente el tamaño de su contenedor. Pero si estuviéramos usando un
círculo, por ejemplo, y agregamos un colisionador de cajas, podemos ver que va
por fuera ahí. Esa línea verde del
día está actualmente en el exterior de la cosa porque ese es el
tamaño de la propagación. Porque estamos usando un cuadrado, no
deberíamos tener ese problema. Pero eso es sólo algo que
tener en cuenta más adelante. Si queremos sumar un
colisionador de caja y queríamos
cambiar las limitaciones de la misma, irá a esta cosa
que dice Editar Colisionador. Entonces podemos cambiar y
escalar al colisionador tal y como nos parece conveniente para asegurarnos de
que encaja como queremos que lo haga. Ahora nuestro jefe nube por aquí básicamente
va
a decirle a la unidad que cuando estemos chocando con un objeto y arrastro esto
hacia abajo y voy por encima del piso, Eso va a desencadenar
el evento de colisión y la unidad va a
reaccionar en consecuencia. Ahora porque se trata de un colisionador de caja
normal, lo que debería pasar
cuando caemos
en realidad va a
parar porque es en realidad va a
parar porque es un fosfito conocido se
meterá en otro tipo de pérdida Claire más tarde, que
es Trimestre gatillo. En realidad podemos cambiarlo para que se
dispare con solo tomar eso. Entonces no va a parar, pero va a
desencadenar los mismos eventos. Entonces lo usaremos obviamente. Si, por ejemplo, estás haciendo
algo así como una bala, como un proyectil que
atraviesa la anatomía. Te gustaría hacer de
eso un gatillo porque entonces no se va a parar
cuando golpee al enemigo. Va a pasar,
pero el enemigo
todavía va a desencadenar un evento, se
puede decir, está bien,
recibir tanto daño. Eso es un poco
de alto grado ahora, pero nos meteremos en eso más tarde. Si corremos el juego, sin embargo, podemos ver que sólo
nos vamos a quedar suspendidos en el aire, no chocando con nada. Entonces no vamos a ver el
efecto de su colisionador. Y si realmente
movemos esto hacia abajo, podemos verme
pasar por todo. Ahora bien, esto es por
dos razones principales. Una es porque el piso no tiene un
colisionador adherido. Dos. Realmente no tramamos
con nada. Sólo estamos un poco chocando con nada porque es sólo un
sprite, no es un proveedor. Pero la segunda
razón es en realidad que debido a que nos estamos moviendo usando las colisiones s2 no se
llevarán a cabo a incluso si esto fuera construido para que pudiera producirse una
colisión, no lo
veríamos ahora,
que no es genial, pero está bien porque
vamos a añadir otro componente más adelante que nos
permita ver la colisión. Así que no te preocupes por
eso ahora mismo. Sólo estaba tratando de
demostrar cómo esto
no va a chocar porque nunca
se sabe colisionador. No obstante, para
arreglarlo, vamos a
volver a nuestra escena. Vamos a hacer clic en piso. Vamos a hacer click, añadir
otro box colisionador 2D. Déjame ver de nuevo, va exactamente por el exterior
justo donde necesitábamos, porque esta es la
misma práctica de plazas. Muy cool. Ahora tenemos dos colisionadores. Y si, por ejemplo, estamos jugando un juego
y éste
chocará aquí, se detendría. Pero debido a que no tenemos
ningún movimiento en nuestro juego, solo
tenemos que
objetos estáticos con resaltadores. Realmente no
va a hacer nada como dije antes,
si lo movemos aquí, esto ignora las leyes de la física porque básicamente
lo estoy moviendo usando una misma cosa, incluso si estoy en modo de juego. Para demostrar realmente
estas colitis, vamos a añadir otro
componente y vamos a introducir este componente se va a llamar
un cuerpo rígido 2D. Cuerpo rígido 2D básicamente
es un todo incorporado. Añadir física a este componente
objeto y ver si pasamos sobre
diferentes aspectos de una física. Tiene el tipo de cuerpo, el material, el
automático, la masa norma, el arrastre lineal,
la escala de gravedad, prácticamente cualquier cosa relacionada con física o al menos la
primera parte de la física, Las Leyes de Newton está en
este cuerpo rígido 2D, no
tenemos aceleración, tenemos gravedad, tenemos todo,
casi todo lo que necesitamos en términos de física
va a ser cubierto
por este cuerpo rígido. Ahora esto obviamente también nos puede ayudar si queríamos
hacer algo atado, así que hacer chocar a alguien y
luego hacer otra cosa. No vamos a
meternos en ese derecho todavía porque no vamos
a entrar en juego de otoño. En primer lugar, no
queremos sprites rebotando. Y Second Bull, eso es
un poco más complejo, que podríamos entrar más adelante
cuando tengamos colisiones. Pero por ahora, todo
lo que vamos a usar este cuerpo rígido para
hacer es probar para ver si este personaje caerá y detendrá porque hemos sumado
los dos colisionadores. Si voy adelante y golpeo juego, podemos ver que de
hecho hace exactamente lo que queríamos. Ahora hemos agregado física
a este objeto. En realidad podemos mover esto. Y podemos ver que la física es obviamente es un
poco raro cuando subo porque así
no es realmente como
deberías estar probando cosas como yo
puedo mover eso hacia arriba y volver a
ponerlo y luego podemos ver a qué me refiero. Así que en realidad pasé por la reproducción porque la
estoy moviendo tan rápido. Esta es una forma rara para
que la unidad vea estas
condiciones tipografia. Obviamente así no es como alguien realmente
estará jugando el juego. Me mudo en el editor. Pero sí, si lo fuera,
sería genial
demostrar cómo funcionaba
realmente la física. Este cuerpo rígido que
hemos agregado el juego es básicamente todos los ajustes
predeterminados aquí son más o menos
todo lo que necesitaremos. Realmente no necesitamos
cambiar demasiados de estos, pero voy a cambiar unos pocos
solo para que sea un poco más agradable. Lo primero que
haré es que la
detección de colisiones
sea continua. Y esto no es necesario. Esto básicamente lo hace para
que puedas asegurarte viste cuando
lo estaba moviendo arriba y abajo 1, pasó por el jugador. Y si tengo eso, si tengo detección continua de
colisiones, esta posibilidad de que esto suceda
se minimice
porque está comprobando continuamente
si colisionó ahí. Creo que los asalariados que
pasaron por ahí fue porque volví a
moverme en la escena. Pero creo que en un juego real, cualquier momento se mueve sobre él
enviaría la colisión. Eso es sólo una buena práctica. Generalmente lo puse
en mis cuerpos rígidos, pero no es necesario. Arrastre angular.
También voy a hacer 0 y voy a hacer
la escala de gravedad también. Siempre encuentro que
probablemente escalas de uno o un poco floaty fluye juegos Para debe ser punto
dulce así. Se puede ver que es una gravedad un
poco más normal como una vez que hayamos
hecho todo eso, solo
hay una cosa más que
tenemos que hacer para asegurarnos de que nuestro juego para nuestro personaje haya introducido
física correctamente. Y eso se va a
congelar esta rotación. Ahora quizá no
sepas lo que hace esto. Voy a demostrar
por aquí si muevo esto para que él vaya
a aterrizar en esa esquina, en ese vértice, se puede ver que el jugador
va a caer. Entonces al igual que la vida real
abajo suaviza el papel en el decaimiento. Esto es muy realista
y es muy cool. Pero para nuestro juego, si dejamos esto marcado, solo causa problemas más adelante cuando
piensas si nos estamos moviendo y nos pegamos
algo que
no mostramos para
estar girando mediados, si tomas tablero de geometría por ejemplo, puedes ver que el, mientras que el cubo gira
cuando salta el cuadrado más
bien, en realidad nunca cambió la rotación
cuando rebota. Las cosas son falsas o cosas. Esa es una práctica bastante buena
para los juegos móviles porque imagina que estamos tratando de jugar nuestro juego y luego
caemos así. Y tenemos que seguir jugando
nuestro juego como una especie de cuadrados
laterales.
No es ideal. Vamos a seguir adelante y
hacer clic en congelar rotación z Entonces si volvemos
a ese ejemplo, mueva eso por
ahí y caemos. Podemos ver que ya
no caemos. Nos quedamos en el borde y en realidad
podemos quedarnos en el borde justo arriba hasta que ya no
hay nada chocar, en cuyo caso nos caemos. Esa es la belleza de
estas colitis y eso es lo que hace congelar nuestra rotación. Después de que
hayamos hecho esto, prácticamente hemos hecho todo lo que necesitamos en esta lección para cubrir los fundamentos de una
introducción a la física, también
podríamos agregar un
cuerpo rígido a este piso, pero como estoy seguro que lo adivinaste, entonces el flujo
simplemente caerá igual que lo ha hecho el jugador y
eso no sería ideal. Y realmente no tiene sentido agregar nuestra escala de gravedad de 0 a este objeto de piso porque es sólo
un poco tedioso. No lo necesitamos para nuestro juego. Así que por ahora prácticamente
hicimos todo lo que
podemos y hemos introducido la
física todo el juego. Podemos ver ahora
tenemos una Q caída, que es muy cool. Nos
va a permitir detener la siguiente lección, que en realidad
va a estar agregando nuestro primer guión C-sharp. Y vamos a hacer que sea una especie de nuestro jugador pueda moverse.
7. Nuestro primer guion: Oye ahí y bienvenidos de
vuelta a la unidad. El último episodio, como
estoy seguro que recuerdas, agregamos un cuerpo rígido
y un colisionador de cajas a, tocaré nuestro objeto para
hacerlos efectuados por gravedad y chocar
con el piso, que también agregamos
una caja colisionador 2D. Ahora esto es genial y todo, pero llega un cierto punto en nuestro viaje de
desarrollo de juegos móviles. Bueno, en realidad necesitamos empezar a escribir nuestro propio código si
queremos que los objetos sean
más o menos bien lo que queremos. En este caso, quiero
crear un guión de movimiento para mi jugador deje de hacer que
este juego vuelva a hacerlo, porque actualmente
todo lo que realmente es es una plaza que cae al
suelo, no súper emocionante. Ahora, haz esto, voy a necesitar
empezar a escribir mi propio código. Esto puede ser un poco
intimidante que
hacer cuando acabas de empezar. Pero por suerte, he creado un archivo de código de hoja de tramposo dentro de
la carpeta de activos del curso, que ojalá haya
instalado antes. Si no lo hiciste,
no lo necesitas, pero sí te recomiendo instalarlo porque
puede ser bastante útil. Si seguimos adelante y abrimos eso. Tengo por aquí una lista de todos los conceptos básicos de la
codificación, que con ejemplos. Y si bien la mayoría de estas
cosas realmente no hacen nada todavía,
esto puede ser útil, sobre
todo más adelante
en el curso cuando
aprendemos de ellas para
que vuelvas y compruebes si tal vez algo
no es trabajando que tienes la sintaxis correcta,
justo en la parte superior, tenemos variables y estoy seguro que recuerdas de
nuestro video introductorio, las variables son básicamente
solo espacios de almacenamiento para diferentes tipos de datos. Esta variable x almacena
un número entero o un número. Esta variable y almacena
cadena o texto. Esta variable booleana Z almacena o booleano o verdadero o falso. Y este cuerpo rígido RB almacena
un componente de cuerpo rígido, que es el componente exacto agregamos a nuestro jugador antes. Hacer variables
como esta
nos permitirá realmente
referirlas en nuestros códigos para poder seguir adelante y asignar ese cuerpo rígido específico a esta variable que
hicimos llamada RB, y luego alterar la variable RB, que a su vez alterará
este volumen rígido. Por ejemplo, si quisiera
cambiar la escala de gravedad, podría escribir código que decía que RBD no cambiara escala de gravedad. Y luego RB dondequiera
que esté vinculado, que sería un cuerpo rígido, que en este caso
sería este particular rígidamente unido al jugador es escala de
gravedad se cambiaría. Ahora debajo de esto
tenemos matrices y nunca pasé
por encima de carrera antes. Pero vamos a meternos en
ello más adelante en el curso. No los necesitaremos ahora, pero
parece algo
decente al menos
repasar las acciones. Ahora, qué matrices son básicamente como variables pero en una lista. Para que puedas ver aquí arriba se ve exactamente como public int x, excepto que es entero público, y luego tiene dos
corchetes después. Lo que
básicamente significan estos corchetes es que no voy a almacenar
una variable aquí. Voy a parar muchas variables. Y así esta
matriz int x pública básicamente va a almacenar una lista de variables
llamadas x array, diferentes se
puede decir, De acuerdo, la primera variable y de rayos X, se
puede asignar un
valor allí, luego puedes asignar un segundo valor, el tercer valor en esta sección, realmente útil si,
por ejemplo, si piensas, queremos tal vez almacenar todas las puntuaciones de
la tabla de clasificación. No queremos hacer una variable
diferente para cada escuela será mejor si hacemos matriz entera
pública, lo
llamo puntuaciones y luego asigno cada puntuación de un jugador a
una posición en esta matriz. Lo mismo aquí con una cadena que tal vez se puede utilizar para almacenar diálogo o texto
o algo así. Si esto
realmente no tiene mucho sentido para ti en este momento. No te culpo porque va a mucho más
sentido cuando lo hagamos. Pero no te preocupes,
solo quería cubrir básico de
lo que son las matrices. Debajo de eso
tenemos trámites, que hemos repasado
en nuestro video anterior. Básicamente, los procedimientos son solo
áreas de nuestro código que
llamamos en ciertos momentos para
realizar ciertas tareas. Este inicio vacío, este procedimiento es realmente
auto-generado por unidad, y esto es con
el procedimiento con llamadas de
Unity cada vez que este
código se ejecuta por primera vez, este procedimiento de actualización
es muy similar, excepto este procedimiento Unity
llama a cada fotograma. Nos meteremos en esos un poco más tarde cuando estemos escribiendo
nuestro guion de movimientos. Pero solo sepan que
estos procedimientos son igual que hablábamos, excepto a las unidades que los
llamaban no se llamaban rodillas. Debajo de esto, tenemos
otro ejemplo de procedimiento. Este procedimiento se llama
cofre abierto , obviamente
no hace eso, pero solo quería
demostrar que
en realidad se podría escribir sus
propios procedimientos. Debajo de esto, tenemos nuestro nuevo concepto llamado variables
locales. Y variables locales podemos
básicamente escribir en la sintaxis. Sintaxis es ese formato de texto. Necesitamos escribir cosas en
codificar para asegurarnos de que funcione. Podemos escribir que con la
sintaxis int x es igual a tres. Lo que esto básicamente va a hacer es que esto va a hacer una variable llamada
x set a tres, pero esta variable sólo
va a ser referenciada dentro de este método. Una vez que este método se agota, la variable se destruye de
manera efectiva. Si llamo a esto algo
así como gar local. Y luego voy adelante
y trato de referenciar var local. Y aquí podemos ver que no
hay nada fresco. Si lo escribo, dice
que el nombre local var no existe
en el contexto actual. Si lo muevo dentro de
este procedimiento, sin embargo, podemos ver que
sabe exactamente qué hacer. Y no dice que no exista porque está ahí mismo. Decidimos bien. Debajo de esto tenemos nuestras declaraciones
if y
estas son condiciones. Este es prácticamente
lo fundamental, uno de los
aspectos más fundamentales de las condiciones de codificación. Si las declaraciones, si es más, declaraciones, si
no, si, etcétera, de nuevo, a todos esos ahora, básicamente todas estas declaraciones hacen
es que comprueben lógica. Por ejemplo, si estamos haciendo ahora saltando guión y
queremos saber si
los jugadores aterrizaron
comprobará que usar una declaración if no
será exactamente
un superritmo
porque no es genial para rendimiento. Pero si teóricamente pudieras
revisar cada fotograma, si jugador conectado a tierra y
si es, entonces digamos, puede saltar por ejemplo,
por aquí estamos diciendo si x
es mayor que cinco o x, x es igual a tres. Un buen ejemplo de si
afirmaciones es si estábamos tratando de calcular si el jugador ha
anotado la preparatoria. Entonces si lo hiciera, se podría decir, si la preparatoria, si anota
mayor que la secundaria, si su puntuación igual
a la nueva preparatoria,
o si la puntuación más alta es
menor que nuestra actual escuela, entonces corre código que
básicamente dice, Ok, esta es una nueva escuela secundaria. Esta sentencia else solo se ejecutará si esta declaración no lo hace. Lo que este código real está
diciendo es que si a mi variable x se le asigna el valor
tres, ejecute este código. Si está asignado a cualquier
otra cosa, ejecute ese código. En realidad podemos ampliar un poco estas
declaraciones yendo si x es tres, hazlo. De lo contrario, si x es igual
a cinco por cuatro, hazlo. O si x es igual a cinco, lo
siento, pongo un signo igual
en lugar de dos, x es igual a cinco. Haz eso, si no, haz eso. Este código es un poco
más complicado. Va a decir, vale,
si son tres, haz esto, si está lleno, hazlo,
si son cinco a eso, cualquier otra cosa haga esto. Y este tipo de
código no es genial porque se puede ver que la computadora tiene que
pasar por eso. Pero entonces eso, entonces, después para nuestro primer juego móvil, si pudiéramos algunas
cosas así
para que sea un poco
más fácil de entender, está completamente bien como
parte del proceso. Debajo de eso está
el concepto final que quería enseñar. Bucles fríos. Y los bucles son efectivamente formas de ejecutar el mismo
código una y otra vez. Este for-loop, que
podría haber escuchado antes, básicamente se ejecuta una
cierta cantidad de tiempo. Lo que
hace este for-loop es que dice full x es igual a
0 al inicio, mientras que x es mayor que tres, aumentar x al inicio o
al final del bucle. Lo que eso básicamente está
diciendo es que tenemos cuatro, pero aquí estamos diciendo, vale, quiero usar la variable x. Y al inicio de este bucle, quiero asegurarme de que sea 0. Después de eso tengo
una condición que debe cumplirse para que el
bucle siga funcionando. Entonces en este caso, siempre y cuando x sea mayor que tres,
mantenga el bucle en funcionamiento. En lo último,
tengo código que se ejecuta al final de cada ciclo de bucle
único. Así que básicamente diciendo cada vez que
el final de cada ciclo de bucle, X plus plus, que es básicamente código para
x aumentado en uno. Se puede hacer una x más
tres x más cinco. En este caso,
tengo x plus plus, lo que significa aumentar x por uno
al final de cada bucle. Lo que este bucle está diciendo
es completo set x a 0, mientras que x es mayor que tres, ejecute el bucle y
aumente x cada vez. Este bucle en realidad
no va a funcionar, vamos a tener
que cambiar eso a menos de tres. Eso tendrá
mucho más sentido. Esto es básicamente
decir, Ok, bueno, establecer x a 0 al principio, mientras que x es menos de tres. Sigue haciendo con el bucle
y aumenta x cada vez. Si tuviéramos que escribir
algo aquí que Newport ejecute dos o tres veces más bien porque se
puede ver corridas la primera vez a 0,
entonces aumenta. Es uno, sigue siendo
menos de tres. Por lo que va de nuevo a almacenar
escucharlo porque de nuevo, tres, no menos de tres. Entonces termina el bucle. Debajo de eso
tenemos mientras bucles. Si bien el bucle básicamente hace lo
mismo que for-loops, excepto la condición para un bucle
while solo necesita ejecutarse, solo tiene que ser cierto y el bucle while se ejecutará
continuamente para siempre. Entonces si nunca estamos cambiando x, este bucle va a correr
desde el infinito porque si configuramos x a V2 va a bien, X menos de tres, vale,
X menos de tres. Ahora esto va a cambiar. El bucle for correrá
un número determinado de veces, pero un bucle while y
corre por el infinito, lo que los hace
un poco más problemáticos a veces
cuando cometemos errores. Porque si tenemos aire
del curso este
luterano por el infinito, casi, casi
siempre provoca un choque. Y eso no es genial para
nuestra computadora o nuestro código. No está mal,
no rompe nada, pero solo en términos de
nuestra tranquilidad, a veces hace que toda
la unidad tenga que
cerrar y entonces quizá
no hayamos salvado algo. Yo recomendaría no usar while loops hasta que tengas
una cruz completa con ellos. No preveo que necesitemos mientras bucles a lo largo de toda
su fuerza. Y en términos generales,
mientras que los bucles se deshacen de una cosa de nicho que
no siempre necesitas codificación, pero a veces necesitas solo asegúrate de
que cuando usas un bucle while, lo
usas, ¿verdad? Y para que sí tenga una condición de terminación
porque de lo contrario se
puede causar un
choque en diez años. Y ahora vamos a
probar nuestra mano en hacer nuestro primer
guión desde cero. Vamos a hacer eso
en la carpeta de activos. Ve a Activos y
vamos a hacer clic derecho, vamos a ir a crear,
vamos a hacer una carpeta y llamarlo script. Esto no es necesario, pero
básicamente solo significa que podemos poner todo
nuestro código aquí, así que todo es agradable y organizado. No necesitas hacer eso. Así es como me gusta
organizar mis activos. Y volver a hacer clic con el botón derecho
y vamos a
ir a crear guión C-sharp. Voy a llamar a
este movimiento. Ahora, si hago doble clic en el guión de
movimiento va a abrirlo en Visual Studio
igual que quería. Y podemos ver por aquí en nuestro guión tenemos
tres líneas en la parte superior, que están todas usando
colecciones del sistema y motor Unity. Entonces una clase llamada movimiento almacenado procedimiento
y un procedimiento de actualización. Ahora, no sé
si cubrí esto en el guión anterior, pero básicamente qué
estas letras verdes, cuáles
son estas letras verdes, nuestros comentarios. Y esa es básicamente la
forma de decir, vale, no
quiero que este código se ejecute, pero quiero tenerlo como texto. Si quisiera escribir
algo debajo. Este programa es genial. Obviamente, si escribo
eso sin comentarios, la unidad va a ser
muy computadoras pueden ser como ¿Qué
intentó decir aquí? No hay un error de sintaxis de token. El nombre cool no existe. El nombre esto no se pudo
encontrar diciendo ¿qué es esto? ¿ Qué es el programa yo mientras estás usando la palabra de código
IS aquí, qué es genial, Ha
estado muy confundido. Lo que hacen estas dos
barras delanteras es decirle a la unidad, no
quiero que esto se ejecute. Sólo estoy escribiendo textos
sencillos para poder comunicarle algo a
alguien que lea mi código. Por ejemplo, cuando
haces este archivo, la unidad auto-genera dos
comentarios por aquí para ti. Te dicen con qué frecuencia
la tienda procesa frío y con qué frecuencia se actualiza el código de procedimientos que dicen que se llama
start antes de
la primera actualización de fotogramas, actualización se llama una vez por fotograma. Esos son
los desarrolladores de Unity diciéndote lo que
hacen estos dos procedimientos para que
sepas, también puedes pasar el cursor sobre ellos y te dirá
exactamente lo mismo. Entonces básicamente eso es
decir que la unidad hace estos trámites y los llaman por su cuenta. No tenemos que llamar a
estos trámites. Podemos utilizar estos
procedimientos que Unity llama para construir el
resto de nuestro código. Podemos eliminar esos
dos comentarios. Podemos empezar a hacer nuestro primer guión de movimiento utilizando estos dos procedimientos. Lo primero que voy a hacer es hacer un par de variables. La primera variable que quiero es
un cuerpo rígido público 2D RB. Y eso va
a ser para crear una referencia
al cuerpo rígido que se almacena en el jugador para que pueda
hacer que se muevan. Voy a crear
otra variable, un entero público, y lo
voy a llamar velocidad. Esa va a ser una velocidad
que el jugador se mueva hacia arriba. Voy a crear
otra variable de calidad, saltar false. Esa va a ser la velocidad a la que el jugador
salte del suelo. Voy a crear
otra variable y la voy a llamar tierra. Y eso básicamente nos
va a decir, ¿está el jugador conectado a tierra o no? Obviamente, sólo podemos
saltar a la tierra. Ahora, como advertencia, voy a estar escribiendo todo
este código usando comandos de teclado. Voy a decir si se
presiona el espacio o si se presiona esto, podrías estar pensando
por qué estamos haciendo un juego móvil y eso es verdad. Pero si quiero probar mi
juego en el editor de Unity, realidad
puedo escribir comandos de
teclado, pesar de que soy Bowden para Android y Unity será como, vale, solo usa la barra espaciadora. Y luego cuando construyo
el juego para Android, obviamente esos comandos
y nunca voy a correr. Entonces si escribo debajo de aquí actualización, si digo si la persona
pasa la barra espaciadora, salta, entonces cuando
construyo mi dio Android, no
hay manera de que
vas a poder saltar porque ahí está la barra espaciadora. Pero cuando estoy probando una anualidad, es
lo que voy a usar para
asegurarme de que todo funcione. Así es en realidad ¿cómo
vamos a estar haciendo este curso? Vamos a construir
todo este curso probado para computadora y
luego escribir el final. Te mostraré cómo
cambiar todos
tus comandos de entrada para
que funcionen para móvil, en realidad
es realmente fácil
porque no vamos a tener tantos controles.
Sólo vamos a dar un salto. Ese salto que vamos
a desencadenar tocando. Pero por ahora, lo
vamos a hacer a través la barra espaciadora para hacer las cosas
mucho más fáciles de probar. Voy a teclear input, bajé la tecla fgetc. Y voy a abrir el
soporte y quedarme clave código dot space. Entonces debajo de esto voy a abrir
corchetes rizados, que nosotros, siempre que usamos una
declaración o procedimiento if, escribimos el corchete rizado abierto y luego presionamos Enter y
ante todo ellos muy bien para nosotros. Voy a por aquí,
déjame borrar esos. Voy a decir comentario en salto. Obviamente este
comentario como nosotros
pasamos no va a
correr, es sólo texto. Pero básicamente lo que esto
va a hacer es que puedo usar esto para almacenar código
que aún no he escrito. Entonces sé lo que debo poner eso. Ahora cada fotograma, si bajo la tecla Espacio,
voy a querer saltar. Ahora. No quiero saltar cada vez para nosotros a Space key. Quiero saltar sólo cuando estoy castigado dentro de
esa declaración si. Voy a poner otra declaración
if ahí abajo. Si está conectado a tierra. Voy a abrir
esos paréntesis piel. Ahora esto no es lo que se conoce como declaraciones
anidadas if
en una declaración if, dentro de una declaración if, en realidad
podría escribir esto como una declaración if. Pero por el bien de la simplicidad, es mucho más fácil de leer en mi opinión, si te gusta esto. Y podemos aprender
sobre esos compuestos si declaraciones más adelante, no
vamos a cubrir eso ahora. Ahora si a Tierra,
vamos a querer saltar, entonces no vamos a querer saltar si no
estamos conectados a tierra. Ahora realmente necesitamos
escribir un poco de código para asegurarnos de que realmente
podamos saltar. Voy a ir por aquí y
voy a hacer mi propio procedimiento. Voy a escribir vacío público y lo
voy a llamar salto, poner paréntesis,
y luego abrir
corchete rizado y presionar Enter
y adentro por salto, voy a escribir
código para hacer el salto. Entonces tengo esta referencia al cuerpo rígido y
a los cuerpos rígidos, lo que vamos a
usar para saltar, voy a escribir RV, y eso básicamente recupera
el cuerpo rígido. Ahora puedo hacer punto y
puedo cambiar ¿verdad? Velocidad. Eso significa básicamente que
voy a estar alterando la velocidad
del cuerpo rígido. Esa es la velocidad lineal. Entonces es arriba y abajo
y izquierda y derecha. Puedo hacer esta velocidad
donde quiera. Puedo ir igual. Y luego porque estoy poniendo
en dos valores, un valor x de x velocity
e y valor para y velocity. Escribiré nuevo vector dos, y luego abriré paréntesis y cerraré paréntesis
y luego punto y coma. Siempre ponemos un punto y coma
al final de nuestro código. Lo que esto básicamente va a hacer. Va a decir, está bien. Establezca la velocidad RB a
donde quiera que lo quiera. Si voy 55, la velocidad RB cuando salto va
a ir así. Y si lo puse a menos 55
va a ser así. Menos cinco y menos cinco
como este, se irá, whoop. Y si lo puse a, por ejemplo, 05, va a ir whoop. Podrías estar pensando,
Oh, eso es lo queremos porque
queremos que salte. Pero si este es el caso, ganaré
básicamente iría así. Tú saltas y la eukarya y moviendo el salto,
no queremos eso. Queremos saltar con
el mismo impulso que has estado llevando todo
el tiempo. Entonces, en otras palabras,
queremos mantener la velocidad de lo que sea el cuerpo rígido
esté en su dirección x. Entonces si te estás moviendo hacia atrás o
adelante o parados quietos, queremos quedarte con eso y
solo queremos cambiar la y Voy a hacer esta fuerza de salto de
valor y. Esa es la variable
que hicimos por aquí. Por lo que actualmente es entero
se establece en 0 porque no
le hemos asignado un valor. Pero podemos entrar en el editor de
Unity y podemos cambiar la fuerza de salto a
donde queramos. Y esa es la velocidad
con la que saltas. Y luego en lugar
de poner 0 aquí, voy a escribir RV
dot velocity dot x, que básicamente está diciendo, Ok, hacer la velocidad,
la velocidad x. Así que no cambies la velocidad x, sino que la velocidad y
sea cual sea el valor se almacene en fuerza de salto, que va a ser un número que vamos a
asignar lo que queramos. Eso es más o menos todo nuestro código de
salto necesita ser, vamos a saltar hacia arriba
y caer de nuevo hacia abajo. Esto realmente debería funcionar
si entramos en Unidad. Si simplemente eliminamos
el comentario de esto y ponemos paréntesis después, entonces en realidad estamos
llamando a este método porque hemos escrito paréntesis de
salto, estamos llamando a este método. Si tuviera otro método
llamado saltó, podría escribir saltó
paréntesis y eso
tiraría ese procedimiento de salto hacia arriba
para porque no
lo hago, no encuentra nada porque tengo este
procedimiento de salto sin embargo. Me llamo
procedimiento de salto siempre cuando presione la
barra espaciadora y esté castigada. Ahora, voy a saltar
y aterrizar de nuevo hacia abajo. Obviamente no hemos
terminado el código, aún no, pero si entramos en Unity, eso realmente debería funcionar
justo como quiero que lo haga. Lo único que voy
a necesitar hacer, sin embargo, primer lugar, es que voy a necesitar una señal algunos
de estos valores. Así que lo primero que quiero hacer, si aún no has
arrastrado obviamente un guión de movimiento
al jugador así. Entonces una vez que hayas hecho eso, toma tu cuerpo rígido y
arrástralo a esta variable RB. Por lo que tenemos un vínculo con ellos. Entonces puedes establecer la velocidad
lo que quieras. Voy a poner cinco, obviamente,
estoy codificado eso todavía, así que no voy a hacer
nada y voy hacer mi salto falso cinco también. Entonces voy a
marcar este terreno de variable porque
podemos ver en nuestro código, solo
puedo saltar
cuando estoy conectado a tierra. Y debido a que
en realidad no he codificado la lógica fundamentada todavía,
nunca voy a ser redondeado. Se
va a poner automáticamente a falso y no voy a saltar. Pero si digo terreno
verdadero, Debería funcionar. Ahora si estoy jugando
presiono salto. Se puede ver que salto hacia arriba,
lo cual es realmente genial. No hemos codificado un salto muy
patético. Y la razón por la que usamos variables
es porque estoy seguro de que todos
podemos estar de acuerdo en que el salto
no está cerca lo suficientemente alto. Por lo que voy a cambiar esta fuerza de
salto y que sea diez. Mira, eso es
un poco mejor. Creo que eso es
casi lo suficientemente bueno. Voy a hacer mi salto
por algo como 12. Tenemos un bonito salto grande
para nuestro juego móvil. Ahora como cubrimos en
el primer episodio, si realizamos cambios
durante el modo de juego y hacemos clic de distancia, no ahorran. Pero solo puedo recordar
qué valor tenía, poner eso de nuevo y luego no
tendré que
entrar en mi código y cambiar
esta variable cinco o 1270. Simplemente puedo cambiar la
variable y luego puedo cambiar lo que
esté almacenado en eso, lo cual es realmente genial. Ahora tenemos nuestro salto funcionando. Queremos asegurarnos de
que sólo podemos saltar cada vez que
golpeemos el suelo. Vamos a seguir adelante y
hacer dos nuevos trámites, y ambos son generados
automáticamente por la unidad. El primero va a ser
en colisión entrar en 2D. Voy a decir que la tierra
equivale a fruta. El segundo va a ser
nulo al salir de colisión 2D, y vamos a poner a
tierra en false. Básicamente lo que esto va a hacer es que esto va a decir, cada vez que chocamos con
algo, hacer verdad a tierra. Cada vez que chocamos
con algo o ya no estamos en
contacto con él, ponemos terreno a falso. Y si esto funciona correctamente, deberíamos llevar alrededor a falso. Y al principio, podemos ir hasta aquí y podemos ver a
tierra es falsa. Y en cuanto aterrice
otorga extra set a true. Y si vuelvo a saltar, los granitos
falsos y luego verdaderos de nuevo. Y eso es básicamente
todo el guión que necesitamos para hacer nuestro código de salto. Podemos presionar Espacio
mucho tiempo como queramos. Sólo podemos saltar
cada vez que no, lo cual es realmente genial. Ahora, esto funcionaría. Pero el problema es
que esto es un poco de una situación pegajosa porque si dejo el código
exactamente como es, y luego puedo vivir con una moneda. Técnicamente estoy iluminando
con algo. Union va a ser como,
oh, está chocando. Él puede saltar de nuevo, pero
sólo quiero ser conectado a tierra mientras esté tocando
este material del piso. Por lo que necesito hacer una
manera de diferenciar entre este defecto en
todos los demás colisionadores. Voy a hacer eso con etiquetas. Voy a ir por aquí
al piso, haga clic en el piso. Voy a hacer clic en tag
y luego agregar una etiqueta. Y voy a
añadir una etiqueta de tierra. Entonces podemos ir a aquí de
vuelta al piso y
podemos asignar esa etiqueta de
tierra por aquí. Puedes agregar empate algo como
lo hice agregar etiqueta y luego
escribir el nombre. Y luego tenemos un impuesto terrestre. Y ahora tenemos una manera de
diferenciar entre si lo que estamos golpeando es
un terreno o cualquier otra cosa. Volviendo a este código, voy a ir
por aquí y
voy a escribir colisionador de colisiones, etiqueta de comparación de
puntos, corchetes abiertos,
comillas alrededor. Entonces voy a abrir corchetes
rizados. Decir a tierra es cierto. Obviamente podría escribir
igual a verdadero al final aquí, pero eso realmente
va a hacer eso automáticamente para
mí porque lo tengo. Es igual a verdad aquí. Pero como hacer eso
automáticamente por mí, porque no estoy
poniendo nada, automáticamente envía
a true de la misma manera. En realidad puedo escribir
esto si está conectado a tierra, eso es significado si conectado a
tierra es igual a verdadero. Pero en lugar de escribir
si lo crónico es cierto, solo
estoy escribiendo si está conectado a tierra, es una forma más sencilla de hacerlo. Por aquí. Voy a decir que estoy tierra mientras esté
chocando con el suelo, voy a copiar
este código exacto y ponerlo debajo de mi cosa de salida, excepto cambiar
esto de nuevo a false. Ahora lo que esto va a hacer es básicamente no
cambiar nada. Pero si tuviéramos que tener otro
color con el que vivimos, no
voy a estar a tierra a
menos que sea el piso. Mi equipo, como un poco
raro que
hacer ahora porque nuestro
código está funcionando bien. Pero créeme,
ahorrará dolor de cabeza, nos
ahorrará un dolor
de cabeza a la larga. Lo último que tenemos que
hacer es asegurarnos de que nos estamos moviendo
continuamente
hacia la derecha porque necesitamos movernos a nuestro juego al
igual que Azure dash, para que podamos interactuar con obstáculos y
saltar sobre las cosas. Vamos a hacer eso usando
la variable de velocidad. Ahora vamos a actualizar se llama cada fotograma como
hemos cubierto antes, pero no queremos que
esta actualización se llame cada fotograma. Queremos que sea frío
cada intervalo fijo para que no cambie si
corremos la misma pendiente
fósil que
se puede utilizar el tablero de actualización fijo vacío. Ahora la actualización fija es
exactamente como la actualización excepto en lugar de cada
fotograma, es cada intervalo. Entonces creo que son 0.01
segundos o 0.15. Puedes configurarlo en tu código. Pero sí, eso es básicamente
lo que va a hacer. Voy a seguir adelante y tipo RB. No la velocidad
como lo hice antes, es igual a nuevo vector dos. Excepto esta vez, no quiero
cambiar la velocidad y, solo
quiero cambiar
la velocidad x. En realidad podemos copiar este código exacto de una aquí
y cambiarlos por ahí. Así que en lugar de decir RB dot
velocity o x por aquí, voy a escribir RB dot velocity
dot y en la cosa y. Y luego para la x,
voy a ponerlo a velocidad en lo que esto va a hacer es cada fotograma fijo. Entonces cada integral,
quiero asegurarme de que mi velocidad sea
igual a la velocidad que
quiero viajar fuera y
mantener la velocidad de y. y cada vez que salto, quiero mantener esta velocidad
x y saltar. Si volvemos a
nuestro código y establecemos nuestra velocidad a algo
lento como a. Ejecutamos nuestro juego. En realidad podemos ver esto
en acción y verlo aquí. Nos estamos moviendo
lentamente y si saltamos,
saltamos manteniendo el impulso. Y ese básicamente
va a ser nuestro guión de movimientos para el
inicio de nuestro juego móvil. Este es el primer
paso que hemos dado para hacer un juego móvil como
uno realmente emocionante. Si lo seguías, buen trabajo. Si algunas cosas han sonado
un poco abrumadoras, lo entiendo completamente
y en realidad he vinculado mi código original en la sección
de recursos de este video para que si el tuyo no funcionara, puedes arreglarlo y
asegurarte de que todo sea perfecto. Te incurres con
el curso porque
quiero que te quedes atascado
en este video. Espero sin embargo, que este video haya
explicado esto, estos conceptos bastante bien. Y si has copiado mi código
exactamente como me gusta esto, deberías tener exactamente
trabajo en programa de sodio. Desplázate por encima para que puedas pausar el video y ver si hay
algo que tengas diferente. Pero todo debería funcionar bien. Solo comprueba que no
has escrito mal nada como
colisión o colisionador. Y hay algunos
conceptos aquí como comparar etiqueta y velocidad, que cubrimos con bastante rapidez. Pero eso es sólo
porque no son súper importantes en este momento. Sólo están acostumbrados a
mover el movimiento, para hacer el movimiento
de nuestro personaje. Siempre vamos
a repetirlos. Va a ser
mucho más familiar. Pero si has llegado
a un punto en el que tu personaje puede moverse
y saltar, gran trabajo. Has dado un paso masivo
y avanzarás en el viaje de desarrollo de juegos. Te veré en el siguiente video.
8. Seguir la cámara: Oye ahí y bienvenidos de
vuelta a la unidad. En nuestro último episodio bastante largo, creamos nuestro
primer guión de C-sharp e integramos
al Editor de Unity, que permitió a nuestro jugador
moverse a lo largo de la escena y saltar. Esto es genial. Es un paso realmente grande para hacer de nuestro
juego móvil una realidad. Y en realidad podemos verlo en acción aquí, igual que lo
hicimos la última vez. Para que podamos movernos y saltar. Y obviamente sólo
podemos saltar cuando estamos en el suelo,
lo cual es realmente genial. El problema con esto es
que una vez que llegamos al final, hemos notado lo que le pasa al jugador
porque sólo estamos viendo este medio para
nosotros como los desarrolladores saben, jugadores actualmente tramando para su fallecimiento y el
editor al abismo. Pero los jugadores habrán
señalado eso sucediendo. Así que para minimizar este tema, lo que vamos a hacer
es que vamos a crear una cámara sigue guión. Y vamos a
asegurarnos de que la cámara
siempre esté siguiendo al
jugador para asegurarnos que siempre
sepamos dónde estamos como jugadores. Ahora, actualmente estamos
un poco perdidos a un editor. Así que te voy a enseñar
otro truco rápido de Unidad. Puedes hacer doble clic en la cámara principal y te llevará de vuelta
a donde quieras. Puedes hacer lo mismo con el jugador o con el entorno. Básicamente se acerca el zoom. Si hemos perdido a alguien más, eran como, Oh, ¿dónde estoy? Haz doble clic en la
cámara principal y estás de vuelta. Ahora. Vamos a entrar en guiones y hacer que
nuestra cámara siga el guión. Haga clic con el botón derecho, cree el guión
C-sharp, y vamos a llamar a
esta cámara seguimiento. Asegúrate de no
nombrar tu cámara de guion porque esa es una palabra reservada. Y lo hice hace un tiempo
y corrí a los temas de
Sony y no
sé qué lo estaba causando, pero por suerte, no
tienes que cometer el mismo error que
hice en el día. Por lo que ahora ve a la cámara
principal y
asegúrate de que tu cámara
siguiente guión sea una firmada a tu cámara. También como nota general,
al nombrar scripts, asegúrese de no incluir ningún
espacio ya que esto hará que unidad no pueda leer el guión porque
este nombre de aquí, la clase tiene que correlacionarse
con el nombre del expediente. Y obviamente esta
clase llamada un poco tiene un espacio porque entonces
el código no sabrá cuáles son las clases y si comienza
el comportamiento del modelo y es un desastre. Así que se asegura de que sea una palabra. Ahora, abre tu cámara
sigue guión y vamos a empezar haciendo una variable
igual que hicimos la última vez,
excepto esta vez en lugar de referirnos a un cuerpo rígido o a una cuerda, nos vamos a referir
a un objeto de juego. Y esto es básicamente
sólo una manera elegante de decir que vamos a hacer una variable que almacene un objeto como cubrimos justo al
comienzo del curso. Objetos o cualquier cosa en nuestro juego a los que
podemos asignar lógica. El reproductor es un
objeto, cámaras y objeto este ambiente
incluso un objeto, el piso y el
fondo de ambos objetos. Y sí, casi
todo lo que pueda tener lógica asignada
es un objeto. Entonces vamos a crear un jugador de objetos de juego
público. Y esto en realidad nos va a
permitir elegir uno de estos objetos y
asignarlo a nuestro guión. Entonces si vamos a nuestra cámara principal, realidad
podemos asegurarnos de que su
guión de seguimiento de la cámara esté asignado. El mío es. Pero si no lo hace, quítelo y simplemente arrástrelo. Y podemos arrastrar al jugador a esta cosa del jugador y hacer
un enlace a nuestros objetos. Entonces la variable player ahora
está vinculada
al objeto player, lo cual es realmente genial
porque esto nos permite
acceder a toda clase de información
sobre este objeto, incluyendo su
posición actual, que es realmente, realmente genial porque a
medida que jugamos un juego, estoy seguro de que se puede ver la
posición del jugador. Se
mueve constantemente y por eso nuestra cámara no es
capaz de rastrearla. Si podemos mover nuestra cámara acuerdo a la
posición del jugador, va a ser realmente,
realmente genial para nuestros jugadores hacerlo. Vamos a seguir adelante y
eliminar el método start. No lo vamos a necesitar
para este guión. Y vamos a ir a la Actualización que como cubrimos la última vez es el procedimiento que Unity
llama a cada fotograma. Obviamente, ya que estamos construyendo
una cámara sigue guión, queremos asegurarnos de
que la cámara y
el lugar se posicionen o
hundan cada fotograma. Ahora para hacer esto, vamos a
ir aquí y vamos a teclear transform con
una t minúscula Esto es básicamente
unities forma de decir que sea cual sea el objeto actualmente tiene este script adjunto a él, acceso a esa transformación, la transformación adjunta
a este objeto de juego y ver si pasamos el cursor sobre
este objeto de juego, en este caso es la cámara porque eso es lo que los
scripts se le adjuntan. Ahora mueve un punto, podemos ver todas las diferentes partes de
un trasplante que pueden hacer, transformarlo
oposición, transformar, escala
local, transformar rotación de
puntos. En todo lo que podamos pensar, vamos a necesitar
oposición a trasplantes ahora mismo. Entonces iremos a
transformar la posición de puntos. Nos iríamos iguales. Entonces. Aquí es donde viene
el Koopa. Porque hemos hecho un
enlace con nuestro jugador. Podemos teclear jugador dot
transform dot position. Entonces si pulsamos Enter así,
este es básicamente
todo el código que necesitamos para asegurarnos de
que nuestra transformación, nuestra posición siempre esté configurada a
la posición del jugador. Si corremos nuestro juego, esto
realmente se ve así. Ahora podría estar un
poco confundido. Sólo estoy viendo una pantalla azul. Sí, pediste introducir pantalla y la razón de
esto es porque el componente z de la cámara siempre tiene que ser menor que
el resto de la escena. De lo contrario, exactamente el mismo avión y no está
capturando nada. Esto podría ser un poco confuso porque es un
juego 2D después de todo, ¿por qué importa el componente z
de algo? Y en general no lo hace. Pero solo para asegurarte de
que como regla general, todos tus componentes z de
todo lo demás siempre configurados en 0 y la cámara siempre
sea menor que 0. Si es menos uno, está bien. Si es menos un
100, está bien. Pero menos diez es un
buen punto dulce. Ahora, no
queremos exactamente que la cámara sea siempre la misma posición
exacta que el jugador por razones
obvias. En cambio, lo que vamos a hacer
es que sólo vamos a asignar específicamente la posición x
de la cámara al jugador. Y pensarías que
usualmente ha transformado oposición de x iguala jugador, esa sesión conceptual dot x Pero por alguna razón Unity
no lo hace tan simple, cual es poco
molesto, pero es bien porque en realidad es
muy sencillo hacerlo. Todo lo que necesitamos hacer es usar esos vectores 3s o herramientas vectoriales de las que
hablamos el último episodio. A una
oposición transformada equivale a mu. Escribiremos vector dos. Podemos ver que no es
auto-llenado porque tengo posición de transferencia
theta en el camino. Así que voy a seguir adelante
y eliminar eso y simplemente tocarlo de nuevo. Ver el vector 2D,
vector tres, lo siento. Entonces abriremos corchetes
y vamos a escribir en el jugador dot transform, punto position dot x Y esto básicamente significa
cada fotograma, asegúrate de que mi exposición
sea la misma que los jugadores . Ahora, esa es en realidad la única posición que
queremos alterar. No queremos cambiar la
y, no cambiamos la z
En lugar de cambiar placa o transposición de la y y y z, sólo
vamos a hacer que se ajuste a la oposición transformada, punto y y la
oposición transformada hace Z. lo que esto básicamente va a hacer es que esto lo va
a hacer para que nuestra posición esté siempre
puesta a la PlayStation x, oposición en la y y
oposición en la z. Ahora hay en realidad una
forma más sencilla de hacer esto porque, debido a que solo estamos utilizando la calidad de transformación de
nuestro objeto de juego de jugador, en realidad
podemos usar una Transformación. Básicamente dice, Ok, quiero la posición y la rotación y la escala de ese objeto. No quiero nada más, lo cual es genial porque
eso es todo lo que necesitamos. Entonces podemos sacar todas
estas palabras clave transformadas. En realidad es sólo esa porque estos se están
refiriendo a nosotros. Y ahora solo
juguémoslo oposición no x Esto podría parecer un
poco inútil, pero almacenar un
transformador es obviamente un poco menos que almacenar
un objeto de juego entero. Entonces va a ser una buena práctica
de codificación. Lo podemos ver aquí. Dice desajuste
de tipo y eso es porque estaba almacenando
en GameObject. Y ahora está almacenando una transformación y no sabe
qué hacer consigo mismo. Así que acaba de volver a dibujar a ese jugador
y se arreglará a sí mismo. Ahora si seguimos adelante
y hacemos clic en Play, podemos ver que nuestra cámara podemos ver que nuestra cámara
de hecho va a estar siguiendo nuestro jugador igual que queríamos a
nuestro jugador igual que queríamosreproducir como siempre en
el centro de la pantalla. Y cuando saltamos y
caemos de nuevo al abismo, podemos ver exactamente
por qué sucede. Ahora, esto podría parecer genial
y podría funcionar bien, pero en realidad no queremos que el jugador esté siempre en
el centro de la pantalla. Queremos que esto sea
un ligero desplazamiento. He oído jugar mis juegos
son los jugadores como que están compartiendo la mayoría de los juegos,
encontrarás que ese es el caso. Vamos a seguir adelante y
hacer una variable offset. Lo llamaremos flotador público. Esta la primera vez
que estamos usando flotadores, podrían sonar
complicados y
solo son decimales. Eso es
todo lo que están ahí. 0.50.20.45. Algo que no sea un entero es un flotador en cualquier número real más
o menos es flotar? Vamos a seguir adelante
y tipo offset. Esto básicamente nos va
a permitir sumar este valor offset
a los jugadores, la oposición transformada de x, que básicamente
compensará la transformación. Entonces si lo piensas, si el jugador es una
posición 0, corremos esto. Vamos a ir a la
posición 0 más cinco. Entonces el jugador
va a estar por ahí. Digamos que los jugadores de ahí, el punto y coma estará por aquí. O si dijéramos dos menos
cinco estarán ahí. Podemos alterar esto en modo
play igual hemos estado haciendo con
todo lo demás, no tipo de veces
si
iniciamos nuestro juego, podemos ver más
delante del pagador, pero quiero moverme fuera de
la obra para estar por ahí. Y en realidad podemos
ahorrar este valor, 5.78, salir del modo de juego, escribirlo justo en. Entonces cuando iniciamos nuestro
juego por segunda vez, podemos ver que el jugador es exactamente donde deben estar,
justo ahí. En realidad voy a llegar a
ser seis porque creo que la obra aún está demasiado
lejos a la derecha. Sí, eso debería hacer el truco. Puede que sea un poco
demasiado a la izquierda ahora, pero nos encontraremos con ese
puente cuando lo crucemos, realidad es posible que prefiera tener
a su jugador del otro lado ahí, lo cual está bien si hacer. Podemos alterar ese valor a medida avanzamos por nuestro viaje de
desarrollo de juegos. Eso es lo bueno de
las variables. Pero por ahora hemos creado
un script muy básico que permite
a la cámara seguir el plan, el trabajo, y
te veo en el siguiente video.
9. Estados de personajes: Oye ahí, y bienvenidos de
nuevo a la unidad. Ahora en los últimos episodios, hemos creado nuestro
primer guión C-sharp, permitiendo que el jugador se
mueva a lo largo de la escena. E incluso hemos agregado una
cámara siguiendo guión para que siempre hacemos un seguimiento
de dónde está el jugador. Como resultado, nuestro juego
actualmente se ve así. Está en una semi función
de estado y
podemos saltar sólo uno mal
el suelo podemos saltar, lo cual es realmente
cool, justo arriba hasta llegar al final
y después seguimos. Semi funcional podría ser un
poco de estiramiento. Pero sin importar, en este episodio, vamos a empezar
creando estados de jugador. Este va a ser el primer paso que nos damos para
crear un gran bucle. Ahora, si no
quieres un bucle de juego es básicamente el
hecho de que puedes jugar, morir jugar de nuevo y
morir jugar cuando etc, podrías
seguir jugando o bucle. Y los estados nos
van a permitir determinar en qué
estado están las jugadas. Si está muerto, si está vivo, si está esperando para ver
si puede responder después de un anuncio, si está saltando o cayendo. Obviamente, muchos de los que no
vamos a estar usando, no
vamos a estar codificando, saltando y siguiendo estados en. Pero si no estuviéramos
usando un motor de juego, podría ser algo
que tendríamos que hacer. Por suerte, porque Unity tiene este gran
componente Rigidbody que cuida toda
la gravedad por nosotros. Los únicos estados trabajan con
enfoque en este episodio, voy a ser si
el jugador está jugando o se le permite moverse o muerto,
no permitido moverse. Comience por entrar en
la carpeta de scripts, haga clic con el botón derecho sin embargo,
cree el script C-sharp. Voy a llamar a
mi Gerente Estatal. Entonces una vez que se haya creado, Google al reproductor y arrastre su
guión de State Manager a él, así. Ahora vamos a buscarlo. Voy a la administración estatal con alcance y vamos a empezar
igual que lo hacemos normalmente
creando una variable. Y esta variable se va a
llamar estado y va a ser una variable de cadena, pública. Entonces podemos verlo en el estado de cadena del editor de
Unity. Ahora esta variable estatal
nos
va a permitir comprobar en qué estado se encuentra actualmente el
jugador. Vamos a hacer eso. Voy a hacer referencia
al estado en otros guiones como
nuestro guion de movimiento. Obviamente en este momento del guión de
movimiento es lo que realmente le está diciendo
al jugador que mueva cada fotograma. Esta línea de aquí le dice al
jugador que mueva cada fotograma. Pero si la obra está muerta, no
queremos que
mueva cada fotograma. Queremos que deje de moverse. Vamos a hacer eso
haciendo referencia a este guión. Ahora, si no estás
seguro de cómo hacer esto, no te culpo
porque esto
me llevó bastante tiempo aprender, pero en realidad es
bastante sencillo. Si ya lo has adivinado, todo lo que necesitamos hacer es crear una variable que
enlaza con el script, al igual que hemos creado variable
que enlazan cuerpos rígidos, enteros, incluso otras transformaciones y GameObject,
podemos hacer lo mismo aquí. Entonces vamos a teclear público. Entonces vamos a escribir el
nombre Bosco State Manager. Vamos a llamar a esta declaración. Entonces, una vez que
hayamos hecho eso, volveremos
al Editor de Unity. Vamos a ir a seleccionar
nuestro objeto jugador. Vamos a arrastrar nuestro script estatal Manager a
nuestra variable gestor de etapa, que luego nos
permitirá acceder a este script desde este script, que es realmente, realmente útil porque entonces
lo que podemos hacer, podemos ir por aquí para arreglar
actualización y podemos teclear. Si quieres hacerlo solo
bajo ciertas condiciones. Vamos a llamar al estado
gestiona el estado de George. Y en realidad podemos acceder a variables en este estado de
script administrado simplemente escribiendo dot y luego el nombre
de la variable. Voy a escribir
dos signos iguales. Y entonces vamos a decir jugar con un P. mayúscula
Debajo de eso. Vamos a poner
nuestro código por aquí, lo que significa que cada fotograma, sólo si estamos en
el estado de juego, vamos a establecer la velocidad de punto
RB a eso. De lo contrario no lo estamos. Esto puede ser realmente genial
porque cuando entramos en Unity y golpeamos Play, podemos ver que
en realidad no nos movemos. Y si tuviera que entrar
jugando al estado,
empezaré a moverme. Pero en el momento en que cambié
algo de stock, que en realidad
es realmente, realmente genial ,
eso nos va a permitir, como
estoy seguro que puedes averiguar, hacer diferentes
estados para nuestro jugador. La forma en que voy a hacer eso es que
voy a ir a la
declaración que acabo de escribir. Y ahora lo último que
necesito hacer es asegurarme de que este estado se asigne base en lo que quiero que sea
el estado. Cuando empiezo, siempre
voy a querer que el estado sea igual a jugar.
Empezamos a movernos. Pero cuando choque con algo,
voy a querer morir. Cuando choque con un obstáculo, voy a querer
desencadenar el estado de muerte. Este estado de muerte va a ser
exactamente lo que suena. Va a hacer de este
estado la fecha y entonces obviamente ya no nos
moveremos. Y lo que es bueno de esto
es en realidad más adelante cuando
agregamos efectos de muerte y todo
tipo de cosas así, podemos usar la máquina estatal
para simplificar ese proceso. Voy a borrar mi actualización porque
no voy a necesitar aquí. Y voy a crear
un nuevo evento disparador. Ahora si recuerdas el último
episodio o dos episodios atrás, tuvimos nuestros propios eventos de colisión. Y esto es básicamente
decir cuando choco, hago esto y este código, obviamente a medida que pasamos, cuando choco con el suelo, quiero poner terreno la verdad. Vamos a crear algo
muy parecido por aquí. Vamos a salir nulo en Trigger, Enter 2D en entidad disparada d es exactamente lo mismo que
en colisionador en 2D. Es sólo que el colisionador
es un disparador. Entonces debido a que nuestro jugador va a estar usando
un colisionador normal, usted podría ser, ¿por qué
estamos usando un gatillo? Pero la razón es en
realidad porque los obstáculos que
vamos a sumar en un segundo, vamos a usar
disparadores para que en el evento
gatillo se active cuando
un colisionador golpea un gatillo, pero no se activa cuando chocó
cabeza a colisionador. Vamos a entrar aquí
y en nuestro evento gatillo. Ahora esto va a ser una línea
bastante larga de código y va a estar usando
bastantes conceptos. Realmente no hemos ido todavía. Y la razón por la que no los
he pasado
es porque
no son increíblemente fundamentales en
este punto del curso. Pero unidad, Una vez que
los usemos por alguna razón. Podemos ir por aquí. Si vamos aquí podemos ver acabamos decir colisión colisionador de puntos activándose dondequiera que
viva en su oscuridad comparado con nuestro comprobando
la etiqueta es tierra. Pero cuando usamos trigger, tenemos que escribir una
línea de código mucho más larga que
vaya así. Si colisión cayó, sí, componente,
tornillo abierto, soportes abiertos. Y vamos a decir colisionador
polígono 2D comer es que ese es el tipo de planeador que usaremos
para nuestros enemigos. Entonces vamos a poner
paréntesis, George,
comparar etiqueta, otro
corchetes abiertos, y luego obstáculo. Ahora podrías estar yendo, Qué en el mundo
y acabamos de escribir, y no te culpo porque
esto está usando todo tipo de conceptos que no
quería enseñar en este
punto del curso. En realidad no sé
por qué Unity nos hace usar todos estos conceptos para una línea de código
tan simple. En mi opinión, no
entiendo por qué inconsciente ser colisión dot Colorado ha tenido sólo porque
usualmente el gatillo, pero por cualquier razón
usualmente una vez que así y lo intenté en un anterior
tema de este video, hazlo al revés y
provoca todo tipo de problemas. Así que sólo copia el código
exactamente como tengo. Y no te preocupes si
es un poco confuso. Buda colisión
punto fgetc componente abierto o menor que signo, luego colisionador poligonal 2D
mayor que signo, soporte abierto, cerrar corchete punto compare
etiqueta, soporte abierto, comilla, sello de comillas de obstáculo cerrar
soporte, cerrar el soporte. Y luego vamos a escribir
en nuestra declaración if, el estado es igual a verdad. Ahora, lo primero que
vamos a hacer para comprobar si esto funciona es que
en realidad vamos a
hacerlo para que nuestra colisión, vamos a hacer un nuevo
colisionador, un nuevo objeto. Lo llamo obstáculo y veo si dejamos de
movernos cuando lo golpeamos. Así que vamos a ir por aquí
a la carpeta de activos del curso. Y vamos a
hacer clic en el triángulo y arrastrarlo a nuestra escena. Al igual que así. Ahora lo primero que
vamos a hacer es que vamos a
escalar ese triángulo hacia abajo. Muévelo a por ahí. Y voy a hacer la mía roja. Ese es un color decente. Rojo más oscuro. Maestro como escena. Ahí vamos. Ahora lo que tenemos que hacer es que
tengamos que asegurarnos de que cuando chocemos
con este obstáculo, tratemos al estado muerto. Pero obviamente este obstáculo no tiene la etiqueta de obstáculo. Entonces para cambiar eso,
tenemos que ir aquí, tienes añadir etiqueta
como lo hicimos la última vez y teclear obstáculo. Exactamente cómo
lo escribí, capital O. Entonces iremos por aquí. Vamos a hacer click, lo siento, no al jugador, al triángulo
que vamos a hacer click aquí. Y cuando haces clic en
obstáculo, ahora, tiene una etiqueta de obstáculo, pero aún no tenemos un colisionador
unido este triángulo. Vamos a necesitar hacer
ese tipo add componente, el colisionador polígono de colisionador polígono
anterior 2D. Y asegúrate de que sea un gatillo. Podemos ver que está perfectamente
alrededor de nuestro triángulo. Si hacemos clic en play, debemos recargar nuestros ensamblajes de
guiones, y luego debemos movernos,
movernos, movernos, movernos, conseguir a nuestro jugador. Perfecto. En cuanto chocamos se desencadena el estado
muerto. Esto realmente va a
ser el comienzo de un realmente otro palo grande y voy a viaje de
desarrollo del juego. Acabamos de crear una especie
de mini máquina estatal. Esta mini
máquina estatal nos permite
rastrear cuando el jugador
está muerto o vivo. Y te mostraré
lo fácil que es
ampliar esto en
el próximo episodio. Pero si tu código se
trabaja como el mío, Gran trabajo como siempre, desvincula mi
código original en los activos de los recursos del video. Si el tuyo no
funcionaba, pero buen trabajo. Todos deberían estar
trabajando, aparentemente bien. Y te veré
en el siguiente video.
10. Nuestro bucle de juego: Oye ahí y bienvenidos de
vuelta a la unidad. Último episodio, creamos nuestra
primera máquina estatal, que nos permitió,
al jugar el juego, tener al jugador en
dos estados diferentes,
es decir, jugar cuando
no golpea el obstáculo y la deuda tan pronto
ya que se golpeó el obstáculo. Y esto podría no sonar
como una cadena muy grande. Esto es realmente, realmente bueno y es
un gran paso en nuestro
viaje de desarrollo de juegos porque va a hacer mucho del trabajo
que necesitamos para hacer que funcione un bucle de juego. Y un bucle de juego en términos simples, es básicamente cualquier cosa que nos
permita jugar un juego encima o ganar y perder y volver a intentar
explicarlo de otra manera, se
puede pensar en un bucle de juego como un proceso para hacer
seguro que el jugador no tiene que reiniciar
la app cada vez que quiera detener el juego en,
obviamente en nuestro juego. Ahora, si juegas nuestro
juego y pierdes, y Emily, si
golpeas
el obstáculo, la forma temprana de
seguir jugando obviamente es
reiniciar el juego. Queremos cambiar eso. Lo primero que vamos a
hacer es que vamos a
entrar en nuestro guión del Gerente Estatal. Y en realidad a lo largo de todo
su absoluto, sólo
vamos a estar editando
los manuscritos estatales. Voy a subir
una versión actualizada del
manuscrito estatal al final. Pero vamos a estar editando
lo que tuvimos de la última vez. Por lo que haga doble
clic en Gerente Estatal. Cuando eso cargue,
vas a empezar por crear un nuevo procedimiento. Así que vas a ir aquí
y vas a escribir público, void die. Este nombre muy espantoso para un procedimiento
básicamente va a ser el código que corremos una vez el jugador está muerto
o tiene un estado muerto. Se puede ver aquí
donde los estudiantes podemos vivir un obstáculo o murieron. Acabamos de establecer deuda a nuestro estado, pero en realidad queremos llamar a
este procedimiento muerto y luego hacer todo ese ajuste dentro de este procedimiento por
diversas razones. El principal es
que de esta manera podemos agregar efectos de profundidad o
añadir un temporizador para responder, lo que vamos a
hacer en este episodio. También cosas. Vamos a hacer que corte ese código y
lo pegue aquí. Y en realidad voy
a cambiar esto a una D capitalina porque creo que eso se ve mejor si es P capital y un capital D. Entonces por aquí,
bajo frío estado DI, paréntesis y punto y coma,
ahora comenzó a morir procedimiento. Ahora cuando golpeemos un obstáculo, vamos a llamar a
este procedimiento. Voy a poner
mi estado muerto. Y todo debería funcionar igual que ha estado
perdiendo todo el tiempo. Deberías tener un programa
de trabajo que haga lo siguiente. Debería correr, correr, correr, ir igual que la última vez. En cuanto golpeamos
que deberíamos dejar movernos igual que lo teníamos antes. Entonces lo que en realidad es
genial de esto es que ahora podemos de este procedimiento, inscribirse o responder procedimiento si bajamos aquí
y nos hacemos públicos, nulos y vamos a llamar a
éste con el teléfono. Pon paréntesis abierto. Y yo responderé. El procedimiento nos va a hacer retroceder a la posición que queremos
estar al principio. Queremos
asegurarnos de volver a nuestra posición inicial 0 generada. Y así voy a establecer
esa posición fuerte para estar donde quiero
empezar el lugar. Me voy a mover para
jugar aquí abajo. Y voy a decir, está bien, esta
es buena posición fuerte. Es menos 8.52 y menos 1.69. Ve a aquí y vamos a ir a Francia forma como recordar
el código del script de la cámara, nos referimos a transformar siendo el objeto de juego
adjunto al guión. Exactamente
lo mismo aquí nos estamos refiriendo a la transformación de un
jugador. Posición de punto es igual. Una vez más, vamos a
usar un vector tres, nuevo vector tres, soporte rizado
abierto,
lo siento, corchetes normales. Y vamos a escribir en menos 8.521.69. Y por supuesto 0. Ahora bien, todo esto debería funcionar perfectamente, pero
podemos verlo aquí. Dice que no se puede
convertir de fluido duplicado. Esto es básicamente
porque no
le hemos dicho a la unidad que lo que
almacenamos aquí son decimales. Acabamos de decir. Estos son
sólo dos números que ponemos. Puntos en. La unidad va a
engrosarse automáticamente confundirse en
cuanto a lo que son. Van a pensar que
era un doble es un flotador. Entonces para minimizar esto, simplemente
vamos
a poner la letra F, f minúscula después de
ambos años, entonces sabrás
que se trata dos carrozas y
estamos bien para ir. Ahora antes de volver a Unity, en realidad
tengo que
asegurarme de que llamo a este respuesta desde el código de tinte. Déjame ir aquí. Voy a la respuesta fría, lo que significa que tan pronto como muera, puse mi estado muerto. Y entonces respondo, bueno, esto en realidad va
a hacer es que me va a hacer responder, pero todavía voy a
estar en estado muerto. Y eso se va a ver
algo así. A ir viajar por lo largo, viajar por problemas
en problemas a lo largo, morir, y luego volver aquí y seguir estando
en estado muerto. Se puede ver que no me estoy moviendo
porque estoy en estado muerto, pero en realidad no
queremos que eso suceda. Queremos seguir en movimiento. Así que vamos a transformar
Sarah, y luego vamos a
volver
a poner a nuestro estado igual a reclamar. Esta es nuestra primera
instancia de lo que es
un bucle de juego porque ahora
podemos ver si golpeamos el juego, podemos avanzar, movernos. Si morimos, respondemos nuevo a donde estábamos y
podemos jugar el juego. De hecho, si saltamos por encima de esto, lo cual soy justo hacer
eso no voy a hacer. Ni siquiera sé si esto es posible porque estoy viajando a media milla por hora,
pero sí, no lo es. Pero si hicimos nuestra velocidad de
juego por aquí, si hicimos mi discurso
y mi vida antes, y luego salté
en el momento adecuado. En realidad puedo repasar eso
y podría seguir jugando. Obviamente ahora me
voy a encontrar en problemas porque no hemos
terminado de construir el mapa. Eso es lo básico
de un bucle de juego. Y en realidad
lo último que vamos a hacer en este episodio es
que vamos a cambiar la velocidad a tres
porque dos son solo un poco lentos incluso
para fines de prueba. Si tienes todo
funcionando igual que yo, has hecho tu
primer tema. Ahora, lo único que tenemos que
hacer en el próximo episodio, vamos a añadir
un ligero temporizador que no respondamos de
inmediato, morimos y luego respondemos. Y ahí es en realidad
donde nuestra máquina estatal va a venir aún más útil, pero en contra de eso
en el siguiente paso. Entonces lo que deberías tener ahora
es un script de respuesta normal. Y si está funcionando
perfectamente buen trabajo.
11. Temporizadores: Hey ahi, y bienvenidos de
vuelta a Unity. Ahora en nuestro último episodio,
creamos nuestro grupo de juegos, que es otro
paso muy grande para que se complete nuestro
juego móvil. Y si hacemos clic en Play, en realidad
podemos verlo en acción aquí en
lo que hicimos la última vez. Nos moveremos y
al minuto que
morimos, volvemos al inicio, lo cual es realmente, realmente genial. Ahora hay algunos
problemas con esto, sin embargo, en primer lugar, no
hay tiempo en
el día porque
engendramos prácticamente en cuanto
morimos, lo cual no es ideal. Y en segundo lugar, estamos desova un poco más alto de lo que
originalmente pretendía. Cuando estaba viendo
video de vuelta, me di cuenta de que entraba
el valor equivocado. Entré 1.69 en lugar
de menos 1.69. Lo primero que
vamos a hacer en este curso es que vamos a
seguir adelante en este episodio, hermano es que vamos a seguir
adelante y arreglar eso. Así que sólo voy a volver a mi guión que hice la
última vez y añadir un menos. Ahora eso debería verse
un poco mejor. Pero nuestro problema
antes de desove en
cuanto morimos sigue siendo uno
que necesita ser resuelto. Si golpeamos Play justo por aquí, veremos que estamos
viajando, viajando a lo largo. Derramamos ahora más
abajo pero todavía cuchara tan pronto como
morimos, lo cual no es genial. Entonces para solucionar este problema, voy a introducir
un temporizador que nos da un poco de retraso de un T2 de
mediados de los 90 y responder de nuevo. Por lo que en realidad podemos ver nuestra máquina
estatal en acción. Déjame seguir adelante, Sigue
abriendo el guión del Gerente Estatal. Y lo voy a hacer es un proceso
bastante simple, pero va a estar usando un término y
procedimiento muy desconocidos numerador IEE más frío. Ahora, enumeré
aquí, anote esto. Funciona de
manera similar a un procedimiento. Yo lo llamaré retardo. Ponga paréntesis, y
luego ponga corchetes. Ahora, para ser enteramente
honesto,
utilicé, enumero desde hace mucho
tiempo sin saber lo que hicieron justo como comandos de retardo de tiempo o
comandos de espera. Y eso está perfectamente bien. Yo los enumeradores son un poco más
complicados que eso. Tienen que devolver un valor. Como se puede ver, es un poco de cosa
desconocida para nosotros en
este punto del curso. Pero por ahora, todo lo que
necesitas saber de ellos es que son los dos que
vamos a utilizar para retrasar. Y vamos a escribir código
que diga rendimiento, retorno, nuevo. Espera, un segundo,
corchetes abiertos, un punto y coma. Entonces llamaremos
al procedimiento de respuesta. Ahora, lo último que
tenemos que hacer es en lugar de llamar
responder directamente aquí, vamos a llamar a
start coroutine, open bracket, delay, paréntesis,
y luego un punto y coma. Podrías estar pensando, ¿Qué ****
acabamos de programar? Y no te culpo
porque acabamos de agregar una cosa completamente
desconocida y luego comando completamente
desconocida. Pero realmente no quiero
meterme en cada uso de esta cosa porque esto no es realmente tan importante
en nuestro curso. De hecho, puedes
hacer juegos móviles solo usando estos
como meses de tiempo. Y para mis primeros juegos móviles, Eso es todo lo que hice.
Todo lo que estoy haciendo aquí. Puedes pensarlo
como si estuviera llamando a un procedimiento y el procedimiento es entonces llamando
ahora al trámite. El único motivo por el que el procedimiento se
ve diferente es porque tiene que usarse para
esperar un rato. Y no quiero
meterme en toda la logística que ahora
porque se va a
complicar bastante y no
es muy útil. Solo piénsalo
como start coroutine, que básicamente es
sólo una palabra elegante para el procedimiento de tienda
que puede esperar, luego medio procedimiento
que puede esperar, y luego comenzar mi nuevo procedimiento. Este código podría
parecer un poco desfamiliar como he dicho
antes, no te preocupes por ello. Si lo escribes como
yo
lo tengo, debería funcionar perfectamente bien. Y no vamos a
meternos mucho más en que enumeré
porque es un poco más complicado de lo que necesitamos para
volver a mi juego ahora. Y hago clic en Jugar. Podemos ver que debo moverme
, moverme, morir. Y luego después de una
segunda respuesta, que es mucho mejor que lo que teníamos antes, lo cual es genial. Si tienes ese
trabajo funcionando bien. Esto fue parte de episodio corto
porque solo quería introducir el
tema de los tiempos. Pero como dije, podría
ser un poco desfamiliar. No te preocupes por eso. Solo asegúrate de que tu código
esté funcionando como el mío. Obviamente voy a subir mi código como lo he estado
haciendo todo este tiempo. Para que puedas descargarlo
si tienes algún problema. Pero si está funcionando bien trabajo y te veré
en el siguiente video.
12. Generar nuestro mapa: Oye ahí y bienvenidos de
vuelta a la unidad. Ahora, en los últimos videos, hemos creado un juego móvil semi
funcional donde puedes moverte. Si mueres,
responderías y
puedes saltar por encima de esto
y seguir adelante. Pero el problema que surge
si saltas sobre el triángulo, no se
puede hacer nada para
detenerte inevitablemente
caer en el abismo. Y eso es porque el
mapa termina están ahí. En este episodio.
Lo que queremos hacer, queremos crear un mapa
que continúe para siempre. Ahora hay dos
formas de hacerlo. Uno, sólo podríamos hacer que esta parte del mapa se
mueva con el jugador. Como que siempre como
familia es que no todos hacemos lo mismo y
nunca nos quedamos sin matemáticas, pero eso es bastante aburrido. Lo que vamos a
hacer en cambio es que vamos a crear un sistema que engendra
partes de nuestro mapa para nosotros. Cuando lleguemos a ciertos
puntos, si llego allí, generaré para nosotros una nueva parte
de nuestro mapa, lo cual es realmente, realmente genial. El motivo por el que esto
es tan cool es porque nos permite tener un mapa infinito variado podamos cambiar
la altura que van, podemos cambiar la
longitud si queremos. Obviamente se sumará
todo eso más
adelante cuando aprobemos
todo el juego móvil. Pero por ahora,
sólo vamos a lograrlo. Entonces todos hablaron
frente a nosotros para que
podamos tener un mapa realmente
funcional. Ahora, lo primero que
vamos a tener que hacer es que vamos
a necesitar hacer este mapa segmentos más pequeños porque creo que los segmentos de
mapas deberían
ser sobre tan grande. Hagámoslo para que ese
triángulo se ponga. Y entonces lo segundo que
tenemos que hacer es que
realmente necesitamos hacer este
segmento de mapa en un prefabricado. En nuestro prefabricado se puede pensar
en ello como un sello. Quiero copiar todo
en este objeto, convertirlo en un archivo que
luego pueda poner en mi juego. Yo hago eso. En realidad es sólo
tomar esta palabra y lo arrastro a la
carpeta de activos y lo dejo ir. Crea un archivo
prefabricado para mí. Y luego puedo arrastrar
este archivo prefabricado a mi escena y engendrarlo como
yo quería. Y lo vamos a hacer
en esto con el código. Pero esto es realmente
genial porque entonces si voy adelante y cambio
algo sobre esto, por
ejemplo, haciendo este
amarillo claro, raro color oliva. Cambia todo el
prefabricado por lo que
en realidad puedo actualizar esto
sin embargo quiero, y todo se
actualizará con él, lo cual es realmente, realmente genial. Obviamente, necesitamos hacer el código que realmente
genera estos. Pero antes de que hagamos eso, primero vamos a sumar
otro colisionador. Ahora esta parte es muy importante. Vamos a entrar en nuestro prefabricado y ya tenemos
un colisionador de cajas, pero queremos agregar
un disparador colisionador. Vamos a seguir adelante y agregar
un colisionador de borde esta vez, esto va a ser colisionador de
borde 2D. Y va a ver
una línea verde. Así es como deslizador Edge. Entonces vamos a
hacer click en este botón aquí que dice Editar Colisionador. Y vamos a hacer clic y
vamos a arrastrar esto, este lado por aquí
donde aparece la caja hasta por ahí. Diría que mientras se trate de tal vez dos tercios de
la longitud hacia arriba, eso está bien. Entonces vamos a seguir
adelante y desmarcar este menú de puntos y
vamos a copiar, vamos a cambiar esto a
uno para que sea más fácil almacenar. Y luego vamos a
copiar el elemento uno, la misma posición donde
ambos están almacenados allí. Y entonces lo último que
voy a hacer es simplemente mover eso ligeramente hacia arriba. Asegúrate de que este sea un acero. Lo que básicamente he
hecho es que he movido la
exposición gubernamental de un punto de ese punto desmarcando
este menú de puntos. Entonces simplemente lo tomó y curso cognitivo
y luego hizo los valores y para que
parezcan un muro por el que no
se puede pasar, que es exactamente lo que queremos. Y obviamente si
lo tocara ahora, iría allí y me
detendría , no podré
pasar. Entonces si lo hago un
gatillo,
podré pasar perfectamente. Pero esto realmente crea
algunos problemas para nosotros. Recuerdo antes cuando estaba editando uno de nuestros guiones
anteriores, creo que fue este
gerente estatal uno de aquí. Podemos ver que tenemos un evento desencadenante
desconocido. Y si me recuerdas diciendo, me recuerdo diciendo
que esta era una forma muy, muy complicada de llegar donde estaba la
etiqueta del objeto. Y tenía razón,
es muy estúpido. Y en realidad no fue
lo que tenemos que hacer. En realidad, Unity no requiere que
escribimos
toda esta línea de código. En realidad podemos
sacar todo aquí y reemplazarlo por punto
GameObject, dot compare tag. Y eso hará
exactamente lo mismo por nosotros. Y la razón por la que esto es
tan útil es porque esa forma anterior era conseguir el colisionador y luego
conseguir el objeto del juego, que era sólo un
poco tedioso. De esta manera es mucho más simple porque entonces solo podemos
conseguir el GameObject. Quiero que sigas adelante
y hagas manuscrito estatal y lo cambies a objetos de juego
oscuros. Por lo que todo funciona perfectamente. Podrías
haberlo dejado como está, pero créeme, te
encontrarás con problemas más tarde. No vale la pena
solo cambios al objeto
D2L y todo
debería funcionar bien. Entonces vamos a
encontrar un nuevo guión. Vamos a hacer
algo muy parecido. Pero primero vamos a
probar que funciona. Si lo hace, deberíamos poder morir igual que lo hemos estado. Y responda. Y se puede ver que
funciona perfectamente. Así que adelante y asegúrate de cambiar eso a
colisión de objeto de juego. El motivo por el que sentí que era
el método más complicado estaba provocando una toma previa. Yo lo había escrito de una manera
similar a esto y la unidad me había dicho que eso
estaba en desuso y viejo. Entonces asumo que esa era
la única forma de hacerlo, pero supongo que había
otra forma más sencilla. Entonces mis disculpas por eso, pero solo asegúrate de arreglarlo a colisión dot GameObject
dot compare tag. Eso es mucho más simple. Entonces en realidad podemos seguir adelante
y hacer nuestros nuevos guiones. Vamos a hacer clic derecho aquí. Voy a ir a crear guión
C-sharp. Vamos a llamar a
este mapa spawner. En realidad vamos a agregar
este guión al jugador. El motivo por el que podemos añadirlo a los jugadores porque queremos
engendrar el mapa relativo
a la posición del lugar. Entonces si voy adelante y arrastro
eso a un jugador como así, podemos ver que tengo mis
mapas, hash al jugador. Ahora cuando llegue a puntos en mi
código donde quiero engendrar una pieza de mapa para jugar
pasará a través de
ella y los dividirá pieza
delante de la obra, que hizo exactamente
lo que quiero. Entonces la forma en que vamos a comprobar dónde lo estamos haciendo es con
este colisionador que agregamos, obviamente tenemos
un planeador gatillo. Así que vamos a decir cada vez que
el par pase por encima ese gatillo Collider engendra nueva pieza el mapa, que es perfecto. En realidad voy
a entrar en mi código por aquí donde tuve, voy a ir a la
declaración de código. Voy a copiar esto en el
respiradero del gatillo exactamente como es. Copiarlo. Entonces voy a
abrir mi nuevo guión,
el guión de desovador de mapas. Voy a eliminar estos
y qué ponerlo ahí. Vacío en entidad trigonométrica. Lo único que voy a hacer
aquí es que voy a cambiar esta etiqueta de
obstáculo a tierra. Recordarás que esa fue la etiqueta que hicimos para el suelo antes. Y voy a eliminar
este procedimiento y reemplazarlo por mi procedimiento de
instanciación, que voy a
hacer un segundo. Ahora que he ido brevemente
a evitar los prefabricados son, te
voy a mostrar cómo
cuchara ellos a través de curvas. Lo que vamos a hacer, vamos a
ir a nuestro guión por aquí, y vamos a ir a
crear una nueva variable, pública, y vamos a crear una referencia a un objeto de juego. Ahora recuerda,
lo hicimos antes con nuestra cámara sigue
guión donde primero
hicimos un objeto de juego
y luego cambiamos a una transformación porque nos dimos cuenta no
necesitábamos un objeto de juego. Lo bueno de
los objetos de juego es que en realidad podemos almacenar todas las entidades
en escenas de Unity, así
como otros archivos de activos que son objetos como prefabricados. Podemos almacenar prefabricados en objetos de
juego y
luego estropearlos en vía código irá objeto de
juego público ahora llamado piso. Ve por aquí y cambio
este código y estoy
hazlo capital G
espacio de objetos de juego y luego lo pongo donde quiera
llamarlo una
pieza de flujo de mina de carbón que voy a
poner un signo igual. Entonces escribiré la
palabra instanciar. Abriré paréntesis. Escribiré en flujo la
variable esta vez. Entonces escribiré como, y luego otra vez un objeto de juego
G mayúscula. Ahora podría estar
un poco confundido cuanto a lo que exactamente
estamos haciendo aquí. Pero básicamente lo que esta línea
de código está diciendo es decir, vale, tenemos esta
variable por aquí, que vamos
a vincular para fluir. Ve aquí, desplázate hacia abajo
y arrastra el flujo en. Ahora hay un vínculo entre ellos. Entonces salida es este objeto vamos a
poner ahora están diciendo, Ok, cuando chocamos con un gatillo que tiene el
suelo de la etiqueta, es decir, cuando pasemos ese punto, quiero instanciate, lo que significa crear flujo
como objeto de juego y almacenarlo
en esta variable local. Recuerdo que fuimos a las variables
locales hace mucho, mucho tiempo en nuestra introducción
al video C-sharp. Pero básicamente son
solo variables a las que puedes hacer referencia en solo este método
porque vamos a estar haciendo todo el
objeto en este método. Eso es perfecto para nosotros. Básicamente, lo que esta
línea de código
va a hacer va a
ponerla en alguna parte, pero queremos
controlar los libros de trabajo. Entonces bajo la escena, voy a ir
a fluir pieza transformada. Recuerda que esa es su posición,
rotación y escala. Posición de punto es igual a
nuevo vector tres. Y luego voy a caminar puesto en las tres posiciones donde
quiero que sea nuestra transformación. Obviamente, sé
que quiero que mi z sea 0, casi 0 por ahora. Quiero que mi z sea 0 y quiero que mi y sea algo en la parte inferior de la
pantalla, pero mi x, obviamente siempre
voy
a querer ser diferente porque si me estoy moviendo,
moviendo a lo largo, moviéndome, entonces quiero gastar a alguien,
si siempre entré di este valor menos
cuatro y seguir adelante, estaba siguiendo
exactamente el mismo lugar. O si yo, aunque
terminara el valor aquí, menos tres como
llegué a aquel, ese prefabricado que
tendría este disparador. Bueno, sólo quiero
advertir a la tercera pieza. Lo pondría en el mismo
lugar, lo cual no es genial. En realidad quiero
desovar en relación con la posición del lugar. No haría eso. Vamos a encontrar el
offset igual que lo hacemos con nuestra cámara sigue
script con variables. Nuevamente. Voy a volver
aquí y voy a escribir public int offset. En realidad voy
a seguir adelante y escribir un valor y similar a éste. Entonces todos hablaron
al mismo valor y. Si hago esto menos 4.6417, voy a poner eso
en mi valor y. Entonces por aquí, voy a decir, no te olvides de poner tu FM que sepa que es un flotador. Entonces por aquí,
voy a decir transformar, t
minúsculas, es decir, la
transformación de allá. Esto está unido a, en este caso, el jugador
que es perfecto, posición x más offset. Esto va a hacer esto. Estas dos líneas de código
básicamente van a decir, de acuerdo, cuando choco con algo, cuando activo mi evento, eso significa que quiero engendrar
un nuevo trozo de tierra. Voy a hacer una nueva
variable, variable local, y voy a
llamarla pieza de flujo. Y esa variable
en realidad va a crear un nuevo objeto para mí
y ponerlo en escena. Y entonces este objeto, voy a poner en una posición menos 4.6 para y,
que está alrededor de camioneta. He visto ceros. Y entonces dondequiera que esté
más un cierto valor, realidad
podemos
ver eso en acción si solo voy adelante
y simplemente aquí, y he puesto en el valor
cinco para el offset. No sé si esto
va a funcionar. Podría estar un poco demasiado
cerca, tal vez un poco demasiado lejos. Por eso usamos variables. Pero voy a probarlo. Si voy por aquí,
baja aquí. Podemos ver que
en realidad está demasiado cerca. Podemos ver que estos
dos en realidad los están solapando
aquí por bastante, pero estamos creando un mapa
tal como queríamos. Así que voy a seguir adelante
y cambiar esto a algo más como diez. Veamos cómo se ve eso. Si vuelvo a cargar mi juego, podemos ver que estoy creando una pieza de mapa casi
perfectamente justo después, lo cual es bastante genial. Pero en realidad quiero hacer
al jugador un poco más rápido y quiero hacer
estas piezas matemáticas también un poco más aparte. Voy a cambiar esto
a 12 y voy a cambiar la velocidad de mi lugar a cinco. Lo que debería pasar ahora es que tengo un mapa que puedo saltar a través. Mucho más fácil, voy a ser
mucho más rápido ahora se
puede ver tengo que saltar
y golpearlo para que
aterrice en cada nuevo segmento de mapa, lo cual es realmente genial
porque el mapa se va a crear a medida que avanzamos, que es realmente,
realmente genial y en realidad
podemos empezar a
hacerlo más interesante. Pero antes de hacer todo eso, en realidad
necesitamos hacer
un poco más de código para asegurarnos de que no
estemos
abarrotando a nuestro inspector de objetos, si vamos a aquí y
vamos por aquí, lo siento, Voy a jerarquizar, podemos ver los planos de planta se
están creando ahí. Estos clones de flujo
son los prefabricados que están en estatuto en juego de shell. Podemos ver que sólo se están
llenando y no están
siendo destruidos. Y ya no necesito esto
porque ya no lo he
usado. Así que lo que voy a hacer es que
voy a hacer un nuevo guión. Y voy a decir,
cuando mi posición, es
decir, la posición,
voy a adjuntar el guión a esta
pieza de flujo a la prefabricada. Voy a decir cuál es
mi posición menor que la del jugador
más una cierta cantidad. Así que cuando estoy así
mucho más
lejos de la cámara, destruirme a mí mismo. Y eso va a ser un guión
muy sencillo. Y voy a hacer clic derecho a
crear guión C-sharp, y voy a llamar a este flujo. Entonces simplemente voy a seguir
adelante y abrir flujo. Y voy a decir en
las reglas de actualización, lo
primero que necesito
hacer antes de hacer que ella es que necesito
crear nuevas variables. Sé lo que es el
transporte público con los jugadores. Transformada pública, igual que usamos para
la falda de contraflujo, llamaré a este un jugador. Entonces voy a seguir adelante
aquí y voy a decir jugador dot transform dot position
dot x Y esa va a ser mi única
cosa en esta herramienta de aquí mismo. Sólo digo mi posición de
transformación punto x. ahora, voy a decir si mi ubicación actual en el plano x es menor que la
conversación de lugar y explico. Quiero seguir adelante
y destruirme a mí mismo. Y la forma en que voy a
hacer eso es que sólo voy a escribir destruir así. Abra corchetes y luego objeto de juego en
minúsculas. Esto es básicamente decir
destruirme porque el
objeto de juego minúsculas se refiere a cualquier objeto de juego al que esté unido este
guión, en cuyo caso estamos
hablando del piso. Este prefabricado, bueno,
esto va a hacer es cuando mi posición es menor que la de un
jugador, destruirme. Pero estoy seguro de que puedes averiguar que
la exposición de estas piezas de flujo
va a ser menor que el jugador cuando
estén por ahí. Pero aún no queremos
dibujar porque todavía necesitamos este piso. Donde realmente vamos a hacer va a decir cuál es mi posición menor que expedición
al jugador menos y luego
otro valor de desplazamiento. Y vamos a
hacer este menos diez porque no
tiene por qué ser exacto. Sólo tiene que ser un poco más de margen para que sepamos que
no lo destruimos. Tan pronto como lo hacemos una pausa. Si esto funciona o debe suceder, es que cada fotograma que
deberíamos estar comprobando si estamos demasiado lejos y si estamos, debemos
destruirnos a nosotros mismos. Sólo vamos a
ahorrar rendimiento en el largo alcance es realmente bueno. Voy a seguir adelante e ir a
mi prefabricada piso por aquí. Voy a hacer clic en Agregar componente
y voy a escribir el nombre del guión
que acabo de crear piso. Y podemos ver que
en realidad está aquí afuera. Podemos sumar deuda
y luego solo necesito sumar la transformada de jugador. Pero no es tan simple
porque esto no es un prefabricado. Y luego otra vez, no
podemos simplemente arrastrar y voy a interpretar a una mujer trans
igual que lo hicimos antes. En realidad necesitamos asignar
esto a través del código también. Volveremos aquí. Escribiremos stock void
que eliminamos antes, pero solo podemos
volver haciendo eso. Entonces diremos jugador igual. Esto se va a ejecutar en
cuanto nos instancien. Tan pronto como creamos,
iremos capital G GameObject dot phi, lo que significa buscar
editor, soporte abierto. Y luego pondremos
comillas y frío como jugador. Porque podemos ver que nuestro
jugador se llama jugador. En realidad vamos a
investigar la integridad ahora. Transforme de punto. Esto va a decir, de
acuerdo, cuando engendré, busco un jugador,
GameObject dot find, es
decir, buscar
la posición del jugador y luego no se posicionará
exactamente, pero esa es una
forma sencilla de decir posicionarlo y luego
ponerlo en esa variable. Ahora si eso ha funcionado,
¿qué debería pasar? Deberíamos empezar nuestro juego. Podemos ver que en cuanto
creamos una pieza de flujo, podemos pausar el juego y
podemos mirar por aquí. Esta pieza de flujo en realidad ha asignado la transformación del jugador
a sus codificadores R fueron perfectamente en la parte superior de esto si creamos un nuevo flujo
porque en realidad podemos ver la vieja pieza completa
se destruye bastante mucho exactamente cuando
terminamos nuestra pantalla, lo cual es perfecto porque significa que si
miras en la pantalla, no se
puede ver ningún problema con ella. Está funcionando a la perfección. Pero como estamos haciendo
una fuera de la pantalla, las piezas del piso en realidad
están siendo destruidas, lo cual es realmente, realmente genial. Lo último que
vamos a añadir es porque estos focos se crean
justo frente a nosotros. Eso se ve un poco no genial. No lo hace, no se
ve demasiado guay. Y lo que queremos hacer es queremos
hacerlo para que en
realidad se instalen
dos por delante de nosotros. Por lo que queremos tomar este
pedacito y
queremos decir mover eso a la cabeza. Por la forma en que voy a hacer esto,
voy a ir a la planta. No me han cambiado este offset
a algo así como 30. Entonces será más bien 24 en realidad, eso se duplica
exactamente. Una vez que hayamos establecido este valor, sólo vamos a
hacer una cosa más. Vamos a ir por aquí. Y en lugar de tener uno, vamos a poner dos
al inicio
del juego va como estoy
seguro que estás pensando, si ponemos uno ahí, va a
la escuela demasiado lejos para que saltemos a , que
no va a funcionar. Ahora si jugamos el juego, deberíamos poder
encontrar un punto dulce para donde queremos que esto cuchara sin tener que saltar
a caer. Le pegamos a Play. Se puede ver que se engendra perfectamente donde queríamos y siempre hay
mapeado para saltar. Nunca hay ninguna brecha un poco
más grande a veces, y a veces un
hueco un
poco más pequeño, que es nuestra propia toma innovadora y
creativa de este juego. El motivo por el que estas brechas están
sucediendo es por que nuestras dos cosas
iniciales no sean
exactamente 24 unidades separadas. Entonces, obviamente, si quieres, puedes
mover esto hasta que obtienes menos huecos o más brechas
donde quieras. Voy a dejar
mis fenómenos, pongo el mío sobre eso
porque creo que los huecos en realidad añaden un pequeño
personaje a nuestro juego. Si seguimos aquí, podemos ver un
hueco un poco más grande y una gran brecha. He minimizado un poco el
tema. Todos se ven bastante
similares como si
quisieras usar mis
coordenadas, puedes. Son menos 4.89888.38, lo cual es bastante bueno en
cuanto a no conseguir una brecha. Pero lo realmente genial
es que en realidad hemos dado un gran paso nuevo hacia nuestro juego
móvil que se está haciendo. Ahora tenemos un bucle de juego
y un mapa infinito, lo que significa que todo lo que
queda por hacer es hacer algún tipo de obstáculo que
engendra en todos estos, obviamente con un
poco de variedad, que seremos haciendo
en el siguiente paso. Y tenemos un juego móvil
que está prácticamente hecho, que es realmente, realmente genial. Ahora entiendo que este fue un episodio un
poco complicado. Estoy seguro de que muchos de los
conceptos que
pasamos aquí fueron un poco confusos, sobre todo con estos negocios prefabricados
instanciando. Si necesitas verlo de nuevo, lo
entiendo completamente. Si no lo quieres volver
a ver, eso también está bien porque obviamente
vamos a estar cubriendo estos conceptos un
poco en el futuro cuando nosotros, sobre todo en el próximo
episodio donde estamos ir a instanciar triángulos, hacerlos prehaps también, y también ponerlos en estas piezas de piso de bloque
tal como necesitamos. Pero nos meteremos en
eso un poco más tarde. Si lo has hecho
a través de episodio y el tuyo funciona perfectamente bien. Gran trabajo. Si necesitas descargar
mi código, eso también está bien. Solo asegúrate de
copiarlo exactamente a través y deberías estar bien
tener un juego de trabajo. Gran trabajo, todos. Y te veré
en el siguiente video.
13. Mejorar nuestro mapa: Oye ahí, y bienvenidos de
nuevo a la unidad. Ahora en nuestro último episodio
bastante largo, hicimos nuestro sistema de
generación de mapas, que es realmente, realmente genial. Es otro paso masivo para que el
juego móvil sea una realidad, porque ahora tenemos
un mapa infinito que podemos atravesar cuando
jugamos el juego. Si seguimos adelante y lo
cargamos, podemos verlo en acción
igual que hicimos el último episodio. El mapa se genera
frente a nosotros y creo que podríamos caer bien.
en realidad lo hacemos a través. En realidad podemos ver este
mapa en acción por aquí, haciendo nuestros nuevos segmentos y
destruyendo los antiguos, lo cual es realmente, realmente genial. Ahora en este episodio, vamos a querer mejorar esto un poco porque, bueno, este es un sistema de generación de
mapas muy, muy bonito. El mapa que estamos
generando no
es lo
más interesante del mundo porque no
tenemos obstáculos
triángulos, solo
tenemos piezas de flujo verde que se generan de una sola vez el uno
al otro. Y esto no es ideal porque no nos da un juego para jugar, solo un poco nos da piezas
ScreenFlow a las que saltar. Y como probamos
no tenemos que saltar. Vamos a iniciar este
episodio agregando en puntos de
desove a cada lado
de las piezas de flujo verde. Y luego vamos a crear
un sistema donde cuchara triángulos ya sea en el
uno o el otro o ambos. Por lo que tenemos alguna
variedad en nuestro mapa. Entonces una vez que hayamos creado nuestro triángulo engendrado sistema en cualquiera con puntos nacidos de Estados Unidos, entonces
vamos a
empezar con unos cuantos temas que van a surgir como resultado de que
sumaremos en triángulos, porque estoy seguro que estás pensando si agregamos un triángulos
y
perdemos, vamos a responder, entonces no
habrá
flujo para saltar también, porque destruimos la regla. Vamos a crear
un sistema donde
creamos un piso y
realmente vamos a desovar las piezas
del piso debajo de un objeto padre. Y luego una vez que
moramos, vamos a estar seguros de borrar ese objeto padre para asegurarnos de que
no tengamos duplicados. Se estaba
creando piso tras otro. Encima de eso, entonces
vamos a finalmente hacer el sistema similar con los
triángulos porque queremos que nuestros triángulos también sean objetos
infantiles al piso. Vamos a añadir
eso en incómodo. Y a partir de entonces,
podremos tener triángulos y pisos para que no eliminemos piezas
del piso
sin triángulos. Y vamos a
poder reiniciar el juego mientras
despejamos todo. Empieza primero con los
triángulos, si hacemos doble clic
o fluimos prefabricados, recuerda que esto es en lo que
estamos echando a perder. Este es nuestro sello. Y vamos por aquí en la parte superior, realidad
podemos crear un objeto hijo igual que lo hicimos con el
entorno hace mucho, mucho tiempo cuando hicimos
ese ambiente objeto y agregamos un montón de niños
Armitage a ella. Eso es lo que
vamos a hacer aquí. Si vamos a hacer clic derecho y vamos Create Empty y llamamos a esta
pausa para la posición uno. Podemos hacer un objeto que
colocamos en este piso. Y luego sin importar
dónde fluyamos, ese objeto siempre permanece igual en
relación con esa posición. Lo cual es realmente, realmente genial
porque esto nos va a permitir hacer
puntos de esperma para el triángulo. Así que voy a poner uno por aquí sobre tal vez un tercio del camino, luego otro, por aquí,
tal vez alrededor de las tres cuartas partes
del camino. Por lo que podemos ver por ahí
hay dos puntos de desove. Podría tener que
ajustarlos a medida que voy, pero están bien por ahora. Estos puntos de desove
van a estar donde voy a poner mi triángulo. Así que voy a hacer un guión ahora que diga cuando
haga este piso, voy a crear,
generar un número aleatorio y va a decir que ya sea
poner uno allí o allá, o uno ahí y otro ahí. Lo cual es realmente genial. Si voy adelante a guiones en un clic derecho y
voy a crear script
C-sharp y llamar a
éste de ángulo recto generado. Y voy a seguir adelante
y voy a ir
a mi piso y arrastrar mi guión de desovador triángulo
a mi piso, así. Ahora mi
guión engendrado triángulo obviamente está vacío, así que
voy a abrir eso. Voy a seguir adelante y
eliminar el método de actualización, pero mantener el método start porque
en realidad vamos a estar haciendo toda nuestra codificación
en el método estrella. Ahora, este va a ser un script bastante simple porque en realidad
hemos manejado instancias antes
y todo en este grupo que realmente hemos
hecho antes también. Entonces si voy, voy a empezar
primero haciendo que mi
posición pública transforme uno. Entonces voy a
hacer otro. Podría escribir exactamente la
misma línea otra vez, como esta
transformación pública posición dos. Pero simplemente forma de
hacerlo es simplemente poner una coma y luego
escribir la posición dos. Y ese es básicamente
el extracto. Cualquier decir en confianza pública a quien
quiero una composición 11 coopetition para volver
a mi Editor de Unidad. Y abro mi
script de flujo o objeto de flujo. Más bien, puedo ver
la posición uno a la posición dos están aquí y no se les
ha asignado. Ahora, recordarás que no
podíamos simplemente arrastrar
el plan porque el jugador es un objeto y esto es un prefabricado, así que
no es tan simple. Tuvimos que escribir código para conseguir
al jugador en nuestro último episodio. Pero con el piso porque
estamos asignando prefabricada parado, podemos arrastrarlo en igual que no, en realidad va a renombrar
esto de la posición 11 a la segunda posición, sólo para
que sea un poco más agradable. Pero en realidad podemos arrastrar aquellos escritos que no
podíamos hacer la última vez. Lo cual es realmente, realmente genial. Porque ahora lo que podemos hacer, podemos seguir adelante y hacer un guión de
desovador para triángulos. Obviamente, vamos
a necesitar usar un prefabricado igual que lo hemos estado
haciendo todo este tiempo. Entonces quiero ir a público,
objeto de juego, llamarlo triángulo. Entonces vamos a escribir código muy similar a lo
que hicimos aquí. Hay objeto de juego, pieza de
flujo es planta
instanciada objeto de juego y la posición de transferencia. Ese realmente va
a ser el código exacto que vamos a escribir por aquí. Pero este código que va a ser algunas condiciones en cuanto a
cuántos y dónde los engendramos. Si pensamos en
esto lógicamente, hay cuatro combinaciones
que podemos dividir. Eso significa para un
triángulo en un lado, uno en el otro, uno en
ambos o uno o ninguno. Y podríamos hacer esto
escribiendo para si declaraciones y obviamente luego haciendo una
condición para cada una. Pero en realidad
vamos a simplificar esto solo hacer dos declaraciones
if. La forma en que vamos a hacer esto
es que vamos a crear una variable aleatoria que
establezca que x sea una o dos. Voy a ir int x. Así que es una variable local es
igual a rango de caída aleatoria. Cuadrado abierto, soportes
normales abiertos. Y voy a introducir
un valor en este caso, uno, otro valor
en este caso tres. Esto realmente me
va a dar un número aleatorio de uno o
dos, sin incluir fluidos. Entonces, ya sea uno o dos. Si por ejemplo, pongo aquí una F, me
va a dar un flotador aleatorio. Entonces tampoco va a
ser 101.101.21.3. Pero obviamente eso me va a
dar algunos problemas aquí porque estoy
almacenando cualquier SIG. No voy a hacer eso esta vez. Voy a almacenar
corriendo entero de uno con un máximo de tres. Eso va a ser uno o dos. Si hago esta actualización nula, sucede cada
fotograma y luego voy a imprimir x. en realidad
puedo demostrar este proceso porque
esto va a estar imprimiendo mi variable x
cada uno marco de uno a tres. En realidad podemos probar si esto es hecho las
variables aleatorias que queremos, porque esto se va
a ejecutar cada vez este código es dotación o cada vez que se instancian unas
piezas de flujo. Si vamos por aquí,
veremos desde el principio tenemos un
montón de unos y dos
y tres porque esto podría ser un poco
confuso al principio, no
sé por qué es
exactamente así, pero por alguna razón
en Nueva Jersey, cuando dices 123, significa que eso es
lo mínimo
y este es el máximo, sin incluir el máximo, por lo que uno o dos. Ahora esta una o dos variables, en realidad
vamos a establecer
al azar dos veces. La primera vez que vamos a hacer en la parte superior donde lo
asignamos, decimos entero x
es rango aleatorio. Y luego unas pocas líneas
hacia abajo con y hacen exactamente lo mismo para que
tengamos otra variable aleatoria. Y luego por aquí
vamos a tener nuestra
primera declaración if, si x es igual a uno y hacer esto. Y eso va a ser si x es
una cuchara por uno Prefab, entonces vamos a reasignar
x y vamos a hacer exactamente lo mismo si x es
igual a uno y hacer eso de nuevo. La forma en que esto básicamente
funciona es que recoge una variable aleatoria
valor válido para x de uno a dos. Entonces si es uno,
haz esto por uno, vuelve a hacerlo y si es
uno de nuevo, engendra el otro. Por lo que podemos ver a partir de esto
podemos tener un triángulo o sin triángulos, o dos triángulos, o un
triángulo y la otra posición. Hay cuatro combinaciones
diferentes que pueden ocurrir a partir de esto,
lo cual es realmente genial. Entonces lo último que
tenemos que hacer es simplemente hacer el código para desove
en este triángulo. Y como dije,
este código va a ser muy similar a este código. De hecho podemos copiar ese
código y ponerlo ahí mismo. La privacidad
nos va a dar algunos temas de nomenclatura. Es como ¿qué son los pisos
cuando se cambia ese piso? Triángulo. Y obviamente tampoco tenemos
una variable offset. Y este vector tres
Transformar no es en realidad lo que queremos nuestra
transformación a E en absoluto. Adelante y quita
esta parte del código. Ahora tenemos pieza de flujo de
objeto de juego, instanciar triángulos, objeto de
juego. No tiene
mucho sentido, así que vamos a
cambiar eso a triángulo. Entonces vamos
a tener que escribirlo aquí también. Ahora tenemos
GameObject triángulo O, hemos visto un error de nomenclatura. Ahora la razón por la que esto
ocurre es porque estamos nombrando a este triángulo lo
mismo que el nombre de ese triángulo, que no es buena lógica de codificación. Vamos a
seguir adelante y hacer que sea una T mayúscula y una T. mayúscula Y ahora podemos ver que el
aire realmente desaparece. Esto es algo bueno para
ilustrar, y C-sharp. c-sharp es un lenguaje
sensible a mayúsculas y también mostramos
dos tipos de ahí. Uno que puedes cambiar
el caso y es completamente diferente como
lo hemos visto con juego de
capital como objeto de juego
minúsculas. Y también que puedes
encontrarte con nombres de áreas en C-sharp. Ahora, por aquí, mi triángulo
punto transformar deposición, voy a querer ponerme a posicionar una
o
posicionar tropas por aquí, estoy seguro de la posición uno porque esa es la primera vez que engendré. Pero la posición uno no es
en realidad una posición. Es una transformación, por lo
que eso es una transformación esa posición y una escala y
rotación, todo tipo de cosas. Estoy feliz de escribir punto
position por aquí. Eso
me va a dar una enfermera en absoluto. Entonces bajo copia este
código exacto y ponlo aquí abajo, excepto esta vez, simplemente cambie esto a la posición dos deposición. Ahora bien, esta es una
forma tediosa de escribir este código, pero pensé que
sería mejor ilustrar la lógica
de lo que estamos haciendo. Podría haber algunas maneras en que puedas simplificar esto si le muestras esto a un profesional C-sharp
sobre que podrían ser oh, cambiado que puedes
hacerlo en tres nueves, pero por ahora en realidad
va a funcionar completamente bien. Ahora podríamos volver a
Unity y probar este código, pero en realidad podríamos darnos
cuenta de que hemos olvidado cambiar
esto de nuevo para empezar. Estábamos tratando ilustrar algo
antes con la actualización, pero si ejecutamos este código ahora, cada fotograma
se va a echar a perder más triángulos, que no
va a ser en absoluto lo quieres asegurarte de que
cambies eso de nuevo para empezar. No sé si has
cambiado a actualizarte cuando lo hice, pero si no lo hiciste, eso es genial ya que está destinado
a ser detenido. Ahora, ve aquí de vuelta a Unity y vamos a
ir a la prefabricada de salida, y queremos asignar un
triángulo para desovar,
pero en realidad no tenemos
un triángulo prefabricado aquí. Por suerte, al igual que
hicimos el piso prefabricado, hacer una prefabricada es muy fácil. Simplemente regresas a tu escena, vas al triángulo y
arrástralo así. Hará un prefab para nosotros. Entonces. Adelante y borra este
triángulo porque realidad ya no
lo quiero en mi escena. Creo que es un poco raro
tener uno en el primero y ninguno
de los otros. Obviamente, lo van
a echar a perder a medida que avanzamos, pero eso está bien por ahora. Y luego voy a seguir adelante
y abrir mi prefabricada de piso. Y voy a querer
arrastrar un triángulo por aquí. Ahora. Lo que quiero
hacer es asegurarme de que pueda jugar mi juego y engendrar
triángulos como quiera. Pero el único problema
con nuestro código de desove no
será nuestro código más bien
están estropeando
el sistema en este momento es que
tenemos que gripe objetos. Uno de ellos va a estar ejecutando el guión triángulo así
como el otro. De hecho, todos los libros de
piso van a ser lo que ha pasado
en éste. Vamos a empezar
el código y
podría triángulo pequeño aquí mismo, que no va a
ser genial para nosotros. Pero si hacemos cambios en
éste porque es un prefabricado, va a hacer
cambios en todo este prefabricado que
no queremos hacer. Vamos a hacer lo que se llama
desempacar la prueba. Y esto podría sonar un poco
confuso, pero básicamente, todo esto está haciendo es decir, no
quiero hacer referencia a esta
salida de animales prefabricados desempacar. Básicamente esto significa que ahora
puedo hacer cambios a este prefabricado y no afectar a
la prefabricada general. Bueno, esto no es en realidad
un topo prefader. Lo hemos vuelto a
convertir en un objeto. Así que adelante y quita el guión de desova del triángulo
de tu primer bloque. Y después de que hayas hecho eso, deberías ser bueno
para ir porque
ya no queríamos engendrar
triángulos en el primero. Pero todo lo demás debería funcionar perfectamente si nuestro código
funciona correctamente. Así que vamos a seguir adelante y golpear
el juego y ver si lo hace. Podemos ver tenemos un
triángulo desove por ahí y uno
ahí
y otro ahí, que es perfecto
exactamente lo que queríamos. Estos triángulos son
un poco rígidos. No sé si se puede decir. Y podemos teñir y empezar de nuevo. Puede que te estés
encontrando con algunos temas aquí porque en realidad no hemos
terminado el bucle de juego, pero llegaremos a eso en el resto la próxima mitad
de este episodio. Ahora antes de entrar en eso, quiero primero asegurarme de que nuestras posiciones de los triángulos
sean un poco mejores. Así que vayamos por aquí y arrastremos un
triángulo. Podemos probarlo. Vamos a la posición
uno y vamos a copiar el triángulo de posición
e ir a pegar posición. Se puede ver que está descargado, así que vamos a mover eso hacia arriba, encontrar el nuevo valor y. Queremos un 4.07 y en realidad
vamos a sumar eso
tanto a mi posición 1.074 como a
la posición a 4.5 a siete. Ahora, no necesitas
hacer ese procedimiento con una copia y yo solo estaba
haciendo algunas pruebas, pero sí, si lo ejecutamos ahora, debería funcionar perfectamente bien. Ella nació en triángulo es exactamente donde queremos que ellos. Es podemos ver donde hay unos pocos, no
unos al principio,
sino a partir de ahora
Rios triángulo punto exactamente lo que
queríamos y morimos. Ese es el mismo
tema de antes. Ahora la razón por la que este
tema está
teniendo lugar en realidad es porque si se piensa en ello con fluidos de
desove todo el tiempo, pero cuando volvemos al principio que fluye esos
desove, pero no hay nada
en que aterrizar. Y por eso en realidad
no terminé con
el primer guión. Necesito realmente
quitar este guión también del piso
porque nunca
quiero destruir el primer piso. Quiero
destruirlo se cae de eso y lo mismo con
el segundo piso. Ahora el segundo piso, puedo mantener este
script de desovador triángulo rápido porque quería asegurarme de que pueda generar triángulos desde aquí. Voy a eliminar
este guión completo. Pero antes de hacer eso,
me aseguraré desempacar este prefabricado también. Porque de lo contrario
voy a tener exactamente
el mismo tema que
hice con el primero. Por lo que eliminó este script
completo e ir por aquí y mover
ese mismo script completo. Ahora si golpeamos play, deberíamos estar trabajando
bastante bien. Si morimos, podemos
engendrar de nuevo a donde
empezamos y seguir
cucharando y cosas. Obviamente, hay
unos cuantos aquí que
ya están ahí ese tipo de
desove sobre los demás, pero la esencia está ahí. Lo último que tenemos que hacer
es en realidad asegurarnos de que estos viejos estén
despejados para que sepamos que estamos limpiando todos los viejos para que
no tengamos duplicado una deportes y
encima de cada otro. Y la forma en que vamos a hacer
eso es ordenándolos. Entonces vamos a crear un nuevo
objeto y vamos a
llamar a esto engendrado brilla. Así que voy a seguir adelante y
asegurarme de que tenga el objeto de los flujos de
cuchara. Y entonces voy a
querer agregar esto como referencia
a mi guión de desowner
mapa en mi reproductor que puedo asegurarme de almacenar
todos mis defectos dentro este script de flujo de hueso en
el Hoegaarden hacer eso 000 igual que lo hicimos
con el medio ambiente, con nuestro piso y nuestros
antecedentes en nuestro piso. Voy a hacer
lo mismo con una cucharada. Que una vez que muera
puedo borrar este punto fluye y me aseguré de que todas
las viejas reglas se eliminen. Voy a hacer eso
abriendo mi guión de desovador de mapas. Y por aquí, estoy configurando
la transferencia y la oposición, pero también quiero establecer
el objeto padre, lo que significa que quiero
establecer el objeto, este objeto que estoy dividiendo
ahora es también un niño. Esto podría no sonar importante, pero como acabo de decir
antes, lo estaremos usando como espacio de almacenamiento. No es así que hace un seguimiento de la ubicación
ni nada por el estilo. Así que ve por aquí y
establece flujo, paz. Dot transform, dot set padres. Y se podría
decir que la transformación de puntos, pero los padres iguala cosa, pero parece pensar que esa es
una vieja forma de hacerlo. Entonces esta es la mejor manera en
que no sabrán el soporte abierto. Y ahora tenemos que poner
algo aquí, pero no tenemos una referencia a lo que queremos
almacenar estos activos. Vayamos aquí. Público. Los electrones forman este almacenamiento. Entonces vamos a ir aquí y
escribir almacenamiento ahí. Y no necesitamos
decir padre punto ni esa posición ni
nada por el estilo. Esto sabe exactamente
lo que queremos hacer. Así que tenemos nuestra variable de
almacenamiento de transformación y estamos haciendo dot set parent, que es básicamente
una manera elegante de decir poner todo ahí
dentro. Lo último que
tenemos que hacer ahora es que
tenemos que seguir adelante y arrastrarlo al almacén. Y si lo hacemos, ahora
deberíamos ver que
cada vez que
instanciamos un flujo, se
pone dentro de esta
cuchara fluye cosa. Lo cual es realmente, realmente genial
porque entonces si morimos, bueno, quiero decir
no hay cosas que van ahora, que no es un
punto extra sobre si morimos, de
qué podemos hacer si lo
sacamos en juego ahora, podemos entrar la cuchara fluye
y podemos eliminar todos estos viejos flujos que
no necesitamos , lo cual
es realmente genial. Obviamente aún no hemos
organizado los triángulos del todo, así
que nos aseguraremos de hacerlo más tarde en un segundo, usar exactamente el mismo método. Pero ahora si vas así, podemos ver que los
pisos se engendran exactamente de
la misma manera que se almacenan flujos
duplicados normales, lo cual es super cool. Ahora, estoy seguro de que notó los triángulos que estamos
viendo por su cuenta. Así que en realidad vamos a
arreglar eso rápidamente. Si entramos en activos
y nos vamos a nuestro flujo, podemos ver que los triángulos nacen de este triángulo
engendran guiones. Así que vamos guiones
triángulos nacidos y luego hagamos exactamente la misma línea de código que acabamos de hacer por aquí. Floppy start transform
sí establece a Terran, excepto que esta vez queremos
ponerla a nosotros mismos. Vayamos aquí y
escribiremos triángulo, libretas telefónicas de
Francia establecen padre. Y entonces solo voy a escribir transform con equipo minúsculas, es
decir, la transformación
o donde sea que se ejecute este script porque
eso va a ser el piso. Copia eso a través y
ponlo aquí abajo. Perfecto, Eso debería funcionar perfectamente bien si
ejecuto mi juego ahora, podemos ver que todos los
triángulos están en realidad desove dentro de los
flujos por aquí. Posición uno, posición dos. Y si vamos por aquí, bajo uno triángulos
están dentro de ellos, que es exactamente lo que quiero. La última parte de este código de
limpieza que
quiero hacer es
asegurarme de que mis triángulos y todo lo demás se
eliminen una vez que muera. Eso va a ser un poco
más complicado. Así que voy a ir aquí a mi
guión del Gerente Estatal y podemos ver que tenemos
este procedimiento de tinte, pero quería
necesitarlo desde aquí porque eso va a
ser un poco confuso. Entonces en cambio, quiero ir a mi guión de desowner mapa
y hacerlo desde ahí. ¿ Eso hace que sea
un poco más sentido como qué grabación
de guiones de nosotros podríamos hacer. No hace ninguna diferencia
porque la declaración de guión está en el jugador
como son los mapas Warner. Pero sólo por el bien de los intereses, creo que será más fácil
si lo hice desde aquí, por lo que es menos confuso
en el futuro. Lo primero que
voy a hacer es que
voy a hacer un nuevo
procedimiento y luego lo
llamaremos vacío público. Y lo voy a llamar almacenamiento
claro. Entonces la sexual más fácil
porque puedo ir de almacenamiento o aquí tengo mi
almacenamiento se sentía como ningún almacenamiento. Puedo limpiar a cada
niño del almacén. Y de la forma en que voy a
hacer esto, voy a
ir a punto, por niño. Entonces voy a
querer que el niño vaya primero, segundo, tercero,
cuarto, o quinto. Si escribo 0, consigo
el primer hijo, primero para conseguir un segundo hijo, pero quiero conseguir
cada uno. Y vamos a hacer
eso usando un bucle for. Así que voy a ir entonces voy a querer
llamar a una nueva variable. Y aún no tengo una variable, así que hagamos una
variable local int x Entonces voy a decir completa. Y si recuerdas la sintaxis de
bucle for , esto
debería tener sentido. Voy a repasarlo de nuevo porque estoy seguro que muchos
de ustedes
lo han olvidado porque estaba arriba
en 15 episodios atrás. No lo sé. Cuatro x es igual a 0. Eso significa que quiero conseguir el primer hijo y me
voy x menos que ahora. Quiero hacer esto para
tantos niños como el almacenamiento tiene caimanes de almacenamiento,
dot child count. Eso me va a dar números
si va a ser uno, este código siempre se va
a ejecutar una vez porque es 0, es menos que el recuento de hijos porque se va
a ejecutar una vez y luego va a ser uno
porque lo voy a aumentar al final. Voy a conseguir x plus plus. Ahora recuerda con for-loops
y confunde que mucha gente hace es que separen los
parámetros usando comas. Por lo que dicen x menos de
0 coma x más, pero en realidad usamos semi-colones. Así que asegúrate de tener x es igual 0 espacio de punto y coma
que x menos espacio de punto y coma de Recuento de
hijos X más más. Y solo recuerda eso porque eso es un error que
mucha gente comete. Esto es en realidad todo
¿Podríamos necesitar
destruir cada uno de estos objetos hijo
porque podemos ir por x menos que el recuento
de almacenamiento X aumento. Entonces si tenemos dos hijos, va a ser
0 aumento por 11. Y luego porque es también
es comparablemente
menor que los atajos. Así que esencialmente en el trabajo
que he puesto x por aquí, punto de
almacenamiento conseguir niño x Y vamos a
seguir adelante y destruir esto. Vamos a teclear
la paja abierta soporte de almacenamiento punto
obtener objeto niño. Y si todo funcionara, siempre que llamemos a este estado, debemos despejar
cada uno de los objetos. En realidad vamos a
querer llamar a esto
tan pronto como respondamos. Porque si pensamos en
cuando llamamos si
morimos, vamos a caer
por el suelo. Entonces por aquí en el reframe, lo último que tenemos que
hacer es que tengamos que crear un enlace a
las formas de partido. Así que vamos a los
mapas de República nacidos, lo llamaremos matemáticas. Y vamos a
entrar aquí para
responder y vamos a ir matemática dot Clear Storage. Ahora antes de
volver a Unity, primero
tenemos que asegurarnos de que estamos destruyendo el objeto del juego, no la transformación porque
podemos ver este código aquí. Dice punto de almacenamiento get child, pero eso nos va a
devolver una transformación. Para ir a arreglar esto,
simplemente vamos niño dot GameObject. Y eso se va a
referir en realidad al objeto del juego, no al componente de transformación. Basta saber que si
decimos perro conseguir hijo, eso devuelve el tipo
equivocado de cosa, eso devuelve un niño
transferido. No devuelve
al niño real. Por aquí estamos obteniendo
el objeto de juego, que es el objeto
niño real. Queremos destruir a la comunidad
backend. Solo tengo que arrastrar
este mapa engendrado hacia arriba a la variable de mapa almacenada en el reproductor para
asegurarme de que estén vinculados. Y luego si voy
adelante y golpeo Play, debería ver que
esta cuchara fluye poco a
poco se está poblando
por diferentes pisos. Ver hay dos y si muero, todos
deben ser despejados, lo cual es realmente genial
porque significa que esto está funcionando
tal y como queríamos. No hay más flujos
duplicados, lo cual es realmente genial. Si has notado
unas cuantas áreas pequeñas, juego
nuevo, por ejemplo, me he dado cuenta de que
a veces no puedo saltar al tercer piso
o a otras después de eso. Eso está completamente bien. Vamos a abordar
aquellos en el próximo episodio, todos los episodios siguientes. Por ejemplo,
en realidad nunca hemos controlado si
podemos o no podemos saltar cuando lo hicimos obviamente
no queremos que eso fuera cierto porque en este momento no
era una parte súper importante
de nuestro juego. Obviamente arreglaremos
todos esos más tarde. Para cuando hayas
completado este curso, tendrás un juego completamente libre
de bug-free. Si tu prueba nuevo juego ahora y pocas cosas son
un poco dudosas, no te preocupes,
todas se resolverán. Y si tienes un
script de desove de flujo, lo has hecho genial. Ahora si sigues y tu código funciona
igual que
el mío, lo último que tenemos que hacer es añadir un poco de
variedad a nuestro mapa, y
lo vamos a estar haciendo más adelante en el curso. Obviamente, como he dicho, hay algunas áreas que
aún necesitamos resolver. Algunas cosas pueden mejorar, pero en realidad se
ha creado nuestro bucle básico de juego. También hay algunos
cambios de equilibrio que quiero abordar. Al igual que, no creo que
siempre sea posible saltar de ambos. Entonces vamos a más tarde en episodios tal vez aumentar la gravedad y aumento salto falso y cosas así a
los que son juego. Pero si todo está
funcionando y tienes un
juego semi funcional que puedes desovar y volver a intentar muchas
veces quieres un gran trabajo. Lo has hecho asombrosamente, y te veré
en el siguiente video. Voy a mover nuestro juego
se va a hacer antes de lo que
piensas. Buen yogur alrededor.
14. Mejoras menores: Oye ahí, y bienvenidos de
nuevo a la unidad. Ahora, en los últimos diez
o tantos episodios que
hayamos creado este
bastante desnudo huesos, pero en realidad un juego
móvil bastante impresionante con este, el primero o uno de
los primeros juegos móviles que se han hecho gran trabajo. En realidad es una locura pensar cuánto has logrado. Has hecho un
juego móvil desde cero usando tu propio código y
puedes generar un mapa. Puedes saltar por encima de obstáculos, puedes responder,
puedes saltar, moverte. Es realmente, realmente genial, Buen trabajo, todo el mundo,
has estado haciendo increíble. Ahora bien dicho,
hay algunos problemas con nuestro juego móvil
en su estado actual. Y es posible que
realmente los hayas notado cuando juegas prueba en tu propia construcción. Y ahí sólo unos bichos. Y la mayoría de estos
errores son en realidad errores de
lógica que
han sucedido. Hemos hecho algo de repente
y luego lo cambiamos y luego se crea un
poco de error lógico. Y no son los bichos
más fáciles de notar. Pero si se puede entender lo
constantemente haciendo
una vez que los
explique, van a tener mucho sentido,
así que me sumerjo justo en ello. El primer bicho
que podrías haber notado, si vas adelante y golpeas Play, si me estoy deslizando, en realidad no
tienes que
presionar saltando para deslizarte, pero si haces eso, no
puedes saltar a
espacio presente. No voy a saltar. Esto no es un problema
con mi barra espaciadora. No es problema
con nada malo. En realidad es un problema con
esta variable a tierra. Se puede ver por
aquí, si estoy jugando, voy a ver terreno se establece en verdad. Y cuando lo dejo se puso
falso y se fue otra vez, etcétera, cierto por
dy me arriesgaré amplio. Ahora si voy así, en realidad pone
lo falso
y luego no podemos saltar. Y la razón de esto
es porque nuestro terreno la variable se
basa en si
estamos entrando o
saliendo de una colisión. Entonces si se
piensa en deslizarse por encima, vamos a lo largo,
yendo adelante, entramos en una
nueva colisión por aquí, y luego salimos de uno. Pero porque salimos después, eso va a
anular y decir, está bien, estamos en el animal de
tierra. Eso es algo muy, muy
simple de arreglar. Todo lo que tenemos que hacer es que
necesitamos un cambio ligeramente el nombre de
nuestros procedimientos para que no
tengamos que hacerlo cada vez que
entramos en una colisión, queremos asegurarnos de que
estemos castigados. Cuando siempre estamos
en una colisión, vamos a hacer eso muy fácilmente. Nosotros vamos al movimiento abierto, vas
a guion de movimiento. Y vas
a querer cambiar esto en colisión entrar dos en colisión, mantente encendido. El estado de colisión es prácticamente exactamente lo mismo.
Es igual de frío. Cada fotograma que
estamos en el terreno, cada cuadro es almuerzo
alrededor del suelo se asegurará de
que le estamos diciendo al juego que estamos
castigados, eso es sta AY. Y simplemente reemplace
enter con estancia. Así sucesivamente colisión permanecer 2D. Perfecto. Ahora si seguimos adelante
y volvemos a hacer clic en Jugar, deberíamos ver que todo
debería estar funcionando bien. Ahora podemos saltar,
lo cual es genial. Ahora lo segundo que
quiero abordar es UCI que estoy haciendo en este momento, pero me parece que a veces
cuando hay picos, es bastante difícil
saltar por encima de ambos. Y eso tiene que ver con la escala
grubby y
la velocidad pagará. Eso no es un error, eso es
sólo un tema de equilibrio. Entonces voy a seguir adelante
y arreglar eso ahora mismo. Voy a ir con mi jugador. En realidad voy a hacer que
la gravedad escala tres, así que es un poco
más fácil de controlar. Entonces para compensar que
voy a aumentar mi fuerza de salto, pero no por demasiado
automatizar mi salto 13. En realidad he probado esto
y he encontrado que es la
forma más eficiente de arreglar esta área. Ya puedes ver, es
bastante más fácil
controlar cuando quiero saltar porque
lo estoy haciendo con más frecuencia. Y esto no hace que el juego sea
un poco más difícil a veces, pero también es mucho
más fácil de controlar, lo que en mi mente es
algo muy bueno. Te recomendaría que
vayas y hagas eso porque he encontrado que es mucho
mejor para la jugabilidad. Una vez que hayas hecho eso, puedes ver que estoy
saltando con estos con absoluta facilidad ahora,
lo cual es realmente genial. Ahora lo otro que
quería asegurarme de que hagamos es que no quiero
poder saltar todo seguir moviéndose
mientras estemos muertos. Esto en realidad es realmente
fácil de leer también, gracias a nuestra máquina estatal. Si voy adelante y he
abierto mi Gerente Estatal, verán
que
mientras muera,
mi estado está listo para morir . El motivo por el que dejé de
moverme es porque tengo aquí un guión de movimiento que dice si el
estado del estado punto es igual al movimiento sencillo, pero de lo contrario no he
dicho nada más. Lo que está pasando si
golpeo esa cosa, simplemente ya no
voy a anular
mi rígida velocidad corporal. Así que sólo tipo de diapositiva. Sigo adelante por el
impulso o la inercia más bien, pero simplemente sigo adelante. En realidad estoy escribiendo
otra declaración otra cosa. Y entonces mientras
no esté jugando, quiero asegurarme de que mi
velocidad sea siempre 0. Rb. No la velocidad es igual, y podría escribir nuevo
vector dos ceros, pero en realidad solo voy
a escribir vector dos puntos 0, y eso es exactamente lo mismo. Esta es sólo una
forma más fácil de decirlo. La teoría de Vacuolar es
básicamente para
asegurarme mientras no esté jugando, soy un taburete muerto. Y esto es realmente genial porque eso significa que
en realidad vamos a estar anulando nuestro código de movimiento para
que cada fotograma que
estamos muertos, no sólo vamos a
no seguir adelante, vamos a parar muerto
en su lugar en el eje x. Y vamos a establecer
nuestra velocidad y a 0. Para que podamos ver aquí arriba nos
detenemos, lo cual es realmente genial. El problema es porque estamos
sentados en y velocidad 0, cada fotograma que en realidad no realmente va a llegar hasta
que no lo movamos todo. La gravedad de la unidad todavía
se deslizará lentamente así. Se puede ver por ahí, todavía
me estoy moviendo hacia abajo. Eso es un poco un problema. Pero puedo arreglar esto
muy fácilmente
diciendo que la
escala de gravedad de punto RB equivale a 0. Se podría pensar que eso es
todo lo que se vende. Pero hay que recordar volver
a poner esto a lo que queríamos en
cuanto vuelvas a jugar. Vamos a hacer
eso yendo aquí a
reclamar y fijar nuestra escala de
gravedad a tres. Mientras estén jugando
muy balanzas , ¿o son tres? Y cuando no lo estamos, nuestra
escala de gravedad siempre se establece en 0. Voy adelante y abro
mi juego una vez más. Podemos ver que estoy bien. Y si muero, como señor, me detuve y luego vuelvo a mi escala de conducción,
lo cual es realmente, realmente genial porque voy a ilustrar cómo se ve
esto cuando
morimos mucho mejor en mi opinión. Ahora, la tercera y última cosa o comentario si es
para, por este punto. Pero otra cosa que
quería abordar
en este absoluto, quiero que los hagas
un poco más cortos porque creo que
estos son un poco demasiado largos. Entonces voy a hacer estos 2.8. Solo voy a
cambiar ambos
individualmente porque los desempaco de la prefabricada, por lo que ya no están
ligados a ese prefabricado. Simplemente entra en la prefabricada
y escribe 2.8 por aquí. Y eso realmente debería arreglar
todo lo demás para ti, lo cual es realmente genial. Ahora tenemos un poco más de un salto y tenemos que
saltar a través de ellos,
lo cual es mucho mejor. Es como si fueran
pequeñas islas. Ahora eso nos lleva a
la segunda última cosa que
quiero cambiar
en este episodio, y eso es fricción. Ya verás si voy
así y me caigo, no
sé si voy a ser demasiado
pesado, pero sí, perfecto. Voy a quedarme aquí. Y esto no es genial. Y la razón por la que
está sucediendo es por mi fricción. Ahora voy a colocar la fricción se establece en el ajuste de
fricción predeterminado. Debido a que está configurado en el ajuste de fricción
predeterminado, básicamente
estoy continuando
moviéndome hacia la derecha. Estoy tratando de saberlo,
pero estoy rellenos. Entonces como resultado, solo estoy como que
me quedo en su lugar. Entonces para arreglar esto, voy a estar haciendo un nuevo material de física. Voy a hacer esto
haciendo clic derecho en
crear en 2D y luego material de
física hoy. Y voy a llamar a esta capa. Y todo lo que voy a
hacer es que voy a poner esta fricción dos ceros. Entonces iré con mi
jugador y
arrastraré eso a mi cuerpo rígido. Se puede ver lo que pasa
ahora es a medida que me estoy moviendo, ya no debería
quedarme ahí. Debería deslizarme
anotar, lo cual es perfecto. Eso es exactamente lo
que quería pasar. Ahora cambiamos bastantes
cosas, pero hay una última
cosa que quiero
asegurarme de que
abordemos en este episodio, realidad
va a ser una forma más optimizada de
arreglar una cosa. Antes. Anteriormente, por aquí cambiamos
nuestra escala de gravedad RV A, pero lo hicimos
cada fotograma. Eso realmente no es
genial porque eso
significa que estamos anulando a
alguien ya está sucediendo. No es bueno para,
para el rendimiento. En cambio, lo que quiero
hacer es hacer un procedimiento que
lo haga por mí. Y voy a hacer esto con un nuevo concepto llamado parámetros. Voy a entrar aquí
y voy a crear vacío público, llamarlo reiniciar gravedad. Voy a ir por aquí. Voy a poner aquí la escala de
gravedad del perro RB. Eliminar ese de allá. Ahora, voy a
querer llamar a esto cada vez que cambie de estado. Entonces si voy a mi gerente estatal, tenía saber exactamente cuando mi estado está muerto y dónde está jugando
mi estado. Lo primero que voy a hacer es hacer un enlace desde la declaración
I GO TO movimiento. Ya tengo un
enlace al revés, pero quiero hacer
un enlace de esta manera es Algoma Public Movement, y lo llamaré movimiento. Entonces lo que voy
a querer hacer, voy a querer
llamar a este procedimiento tanto cuando muera como muevo
restablecimiento gravedad. Y por aquí, mueva la gravedad de restablecimiento de
puntos. Pero voy a
querer configurarlo a dos cosas diferentes están
aquí quiero ponerlo a 0, y aquí quiero
ponerlo a tres. Y la forma en que vamos a hacer eso, podrías escribir dos procedimientos, pero una forma mucho mejor de hacerlo es solo usando parámetros. Así que voy a ir por aquí a mi reciente gravedad
y voy a
entrar en estos dos corchetes
y voy a escribir int x Bueno, esto
en realidad va a hacer es que va a decir, de acuerdo, cuando Fui a llamar a
este procedimiento, ingreso un valor para
este parámetro. Es algo así como
un valor de entrada. Se puede ver aquí arriba,
dice que no hay argumento dando lo corresponde a lo
requerido formal orgulloso de x Si hago doble clic en esto,
puedo ver dónde está el aire. Está por aquí. No estoy diciendo lo que
quería poner x aquí, introducir el valor de 0 aquí, y el valor tres ahí. Todo está bien. Ahora he llamado a este procedimiento aquí y dado a diferentes
valores por aquí, me he puesto a 0 y aquí
he dicho los tres. Entonces todo lo que necesito hacer
es volver al movimiento. Y en mi restablecimiento
gravedad necesitaba dicho albedo escala de gravedad es igual a x Ahora hemos logrado dos cosas
completamente diferentes con el mismo procedimiento
usando parámetros. Ahora este es un tema
completamente nuevo, pero quería cubrirlo en algún momento de este episodio
porque pensé que sería útil más adelante en caso de que
necesitáramos básicamente es
como valor de entrada. Entonces me dan
diciéndote qué hacer y dándote un poco
de información para hacerlo con. Y eso nos permite crear una forma mucho mejor de
restablecer la gravedad. Ahora todo esto atributos
necesito reabrir Unity. Bien, mi jugador se asegura de que
arrastré mi movimiento por aquí. Y si voy adelante y pego Play, podemos ver ahora hemos logrado exactamente
el mismo resultado con una forma
mucho mejor de hacerlo. Podemos ver que nos detenemos
igual que tuvimos, y empezamos de nuevo,
lo cual es genial. Entonces esto podría haber parecido
un poco de un episodio extraño, pero solo quería usarlo
para enseñar los parámetros constantes y
arreglar todos los pequeños problemas. Y creo que te vas a
enterar de este episodio, vas a juego es mucho
más agradable de jugar. Enhorabuena, has terminado el módulo base de este curso, creando un juego móvil. Hemos hecho un juego móvil
donde puedes jugarlo. Tener un bucle de juego. Se puede, cuando se puede perder. Pero viene mucho más y ahora nos metemos en
lo divertido. Estoy seguro de que has notado que ni siquiera
hemos hecho nuestro trasfondo se mueva
con nuestro jugador todavía. Ese es un cambio muy sencillo. Obviamente no lo
voy a hacer ahora. Maestro fuerte, el
final de este episodio. Pero en el próximo episodio
y episodios a seguir, vamos a empezar a
prepararnos con todas
las cosas realmente divertidas que vamos a añadir en nuestro sistema escolar. Vamos a sumar
mejoras visuales, audio, música, todo lo que realmente hace un juego móvil pop está llegando en la segunda
mitad de este curso. Pero al final de este episodio, realidad
deberías haber terminado la parte central base de tu juego, lo cual es realmente, realmente
genial. Gran trabajo a todos. Increíble. Y si
eres juegos móviles trabajando igual que el mío es un trabajo
increíble como siempre, por supuesto,
enlazar todos mis scripts en la descripción o los recursos más bien para
que puedas vincularlos. Y buen trabajo. Una vez que termines este episodio, estás casi a
mitad de camino allí. La parte difícil de este
curso es en realidad ahora postura y nos estamos
metiendo en lo divertido. Gran trabajo a todos. Te veré en
el siguiente video.
15. Puntuación: Oye ahí y bienvenidos de
vuelta a Unity. Nuestro último episodio,
dijimos que nuestro juego o los conceptos centrales están más o
menos hechos y eso es cierto. Pero hay bastantes
formas en que podemos mejorar nuestro juego para
hacerlo aún mejor. Obviamente, ni
siquiera es un juego móvil todavía porque no lo hemos
tirado para subir. Pero vamos a cambiar
todos estos cool, en realidad divertida parte del desarrollo de juegos
móviles. Obviamente las
partes anteriores han sido divertidas, pero estas mi opinión, todas las mejores partes del desarrollo de juegos
móviles. Es lo realmente creativo
que puedes añadir en el diseño de sonido, mejorar tu juego, cómo quieres, todas las cosas realmente divertidas. Entonces todo eso va a ser en la segunda mitad de este curso. Y eso va a empezar
hoy con nuestro sistema escolar. Antes de sumar en
nuestro sistema escolar, primero
quiero
asegurarme de que nuestro juego, podamos hacer algunas mejoras
menores a. A partir, voy a
arrastrar el fondo debajo la cámara principal para que lo
tenga como objeto niño. Y lo que esto puede hacer
es asegurarnos de que nuestra cámara principal siempre sea
seguida por un objeto hijo. Si vamos a nuestro juego
aquí y hacemos clic en Jugar, podemos ver esto en acción. Ahora nos siguen
el fondo, que es realmente genial, realmente forma
sencilla de arreglarlo. Ahora, el segundo cambio
que quiero hacer es que quiero
ir a mis antecedentes. Y quiero seguir adelante
y voy a ir Agregar Componente Edge colisionador 2D. Y entonces puedo ver aquí
mi nube de borde. En realidad es casi Hola, quería, solo
quiero arrastrarlo hacia abajo. Así que voy a ir offset,
arrastrarlo al fondo en aproximadamente menos 1.9 o
menos dos, si quieres. Esto básicamente
va a actuar como un muro de la muerte para que si un jugador cae por
estos huecos, muera. No sólo
caen en el abismo. Voy a etiquetar esto como un obstáculo y
voy a asegurarme dispare y me quedaré máquina se
dispare y me quedaré máquinaen realidad va a
cuidar de todos los restaurantes. Si le pegamos a Play. Ya podemos ver, si me
caigo por aquí y
un teléfono a la Gap, hecho muero y
vuelvo al principio,
lo cual es realmente genial. Ahora esas son algunas
cosas menores que quería hacer. Pero obviamente el
punto principal de este episodio va a ser agregar
un sistema de puntuación. Así que vamos a entrar bien en eso. Antes de hacer eso, necesitamos
crear componentes de la interfaz de usuario de unidad. Por lo que obviamente
nunca lo harás antes. Por lo que iremos a Window
Package Manager. Necesitamos bueno aquí a
este menú Unity Registry si podría estar
ahí por defecto. Entonces haz clic aquí y luego ve al texto Mesh Pro y haz clic en Instalar. Ahora bien, esto es básicamente Unity
solución dos objetos de texto. Es muy potente y fácil de usar herramienta
como esta por aquí. Y en realidad es más o menos el predeterminado que
quieren que uses. Si no estás usando esto, entonces es lo que se considera un legado o como una versión anterior. Entonces vamos a
querer usar esto. Entonces vamos a
hacer clic derecho aquí podemos ir UI text, text Mesh Pro. Eso va a crear esto y va a hacer
estallar esta ventana. Haga clic en Importar, elementos esenciales de TMP. No tienes que
agregar los extras. Y luego si nos desplazamos hacia arriba, podemos ver nuestro texto por ahí. Ahora, no me gustó este lienzo. Este lienzo básicamente actúa como un espacio de almacenamiento para
todos nuestros componentes de la interfaz de usuario. Y este es el texto. Si lo sacamos del lienzo, ya no
podemos verlo. Así que asegúrate de
mantenerlo ahí dentro. Cambia el nombre de tu lienzo a UI esto, lo que me gustas, no
tienes que hacerlo. Y vamos a cambiar el nombre de
nuestros textos para anotar. Entonces vamos a ir
a nuestra interfaz de usuario y
vamos a cambiar este modo
aleatorio de superposición de espacio de pantalla a cámara
espacial de pantalla y luego
arrastrar nuestro Cameron, Este es mi modo
aleatorio preferido. Puedes quedártelo si lo deseas, pero te recomiendo que lo cambies. Y luego vamos a seguir
adelante y mover nuestro marcador a por ahí. Ahora esto sí se ve bien, pero a veces la unidad tiene unos bichos donde si
sales y vuelves a entrar,
en realidad se mueve
para asegurarse de que
haces eso y luego moverlo. Esta es la posición realmente
correcta. Ahora voy a probar
esta tapa en un cambio esto al tamaño de fuente 75 es
bastante más grande. Quiero hacerlo audaz, y voy a
seguir adelante y hacerlo mucho más grande para que
podamos almacenar eso ahí. Y voy a
arrastrarlo todo el camino allí. Esto va a
actuar como nuestro marcador. Si escribo tienda y luego
entro a una escuela imaginaria, podemos ver por aquí cómo se ve
eso en un juego. Creo que se ve bastante bonito. Podemos moverlo un
poco a la derecha, y eso está perfectamente bien. Ahora tenemos que empezar a codificar la lógica real en cuanto a cómo va a funcionar
esto. Así que vamos a crear un nuevo objeto y vamos a
llamar a esta ganancia de puntuación. Entonces voy a entrar en el guión. Voy a ir a hacer clic derecho
crear guión C-sharp. Nanocoulomb es una escuela. Ahora este script
básicamente va a
decirle a este texto qué mostrar. Y vamos a
resolver el marcador del jugador en
base a lo lejos que estén de la pista escolar
que se ve por ahí. Muévete, pero
en realidad no es eso. Pero si sumamos belleza de gouache, este rastreador de puntuación queremos
posicionar en el lugar puntos de
partida. Voy a ir aquí y
voy a poner menos 8.52 eso en lo siguiente
y luego simplemente moverlo hacia abajo. El valor y
realmente no importa. Esto es básicamente un acto como nuestro camión y ver
hasta qué punto el jugador
se ha movido de ella o cuán lejos la fase movió nuestra distancia,
que es nuestra escuela. Así que adelante y
asegúrate de que eso sea menos 8.52 o donde sea
que te coloques en base a plantas,
asegúrate de copiar eso. Entonces ve a aquí y arrastra tu guión de partituras hasta allí
y luego ábralo justo arriba. Ahora, una vez que esto se abra, vaya a la cima y
vamos a importar algunas cosas. Vamos a usar
cosas que no sean colecciones de
sistemas y
genéricos y murales mecanografía del
motor usando
Unity engine dot UI, en
primer lugar, y luego también
escribir usando producto TM, eso es texto Mac Pro. Esto
nos va a permitir anotar guión cómo queremos sin
confundirnos. Entonces vamos a crear
una transformación pública. Y vamos a
llamar a este un jugador. Debajo de eso,
vamos a crear un int público y tirar esa escuela y una prueba de malla de texto
público. Vamos a llamar a este texto o más bien el texto completo
no es mejor nombre. Entonces vamos a entrar en nuestro procedimiento de actualización
y vamos a escribir puntuación igual. Y ahora vamos
a querer restar transformar y
el lugar transformarse, pero eso nos va a
dar un flotador. Así que antes de escribir,
vamos a escribir matemáticas F dot around to int. Y eso básicamente va
a asegurarnos de que podamos redondear lo que sea el valor del
flotador a una pulgada. Y entonces sólo
nos vamos a ir. Jugador dot transformó
oposición de X menos nuestra transformación
proposición que x. y eso va a resolver nuestro marcador cada cuadro individual,
marco para nosotros, lo cual
es realmente genial. Entonces voy a
bajar aquí y voy a ir a desplazar texto. Ahora quiero almacenar lo que sea
este marcador en esta cosa. Así que voy a ir al
texto de la escuela punto txt igual, y ahora voy a poner
mi valor escolar en, pero no quiero normalmente quería hablar con fuerza, que significa que lo estoy convirtiendo de un entero a una cadena. Esta pequeña cantidad de código
realmente nos dará una escuela, pero queremos agregar
un poco más. Queremos asegurarnos de añadir
puntuación, entre comillas. Asegúrate de ponerlo
entre comillas, un colon y luego un espacio, y fuera que
vamos a poner un plus. Por lo que comita anotar espacio con un codon plus
y luego escuela. Y eso lo va a hacer
para que se vea mucho más bonito. No sólo nos va
a dar un número, nos va a dar
una puntuación y un colon, igual que tenemos por
aquí y editarlo. Ahora antes de volver a Unity, en realidad
me he dado cuenta de que estamos
usando la única cosa aquí, las mujeres para usar un texto
Mesh Pro, tú GUI. Sólo asegúrate de cambiar eso. Eso es sólo una
cosa menor que olvidé añadir y que
hará nota emitida. Cualquier otra cosa que
sólo va a hacer un problema a tu código. Entonces abre Unity y deberías ver tu pista
escolar por aquí. Asegúrate de arrastrar tu juego a
la transformación y tu partitura
al texto de la tripulación Mesh. Tú boya. Y por ahí se puede ver esa etapa glitch click de
nuevo, se restablecerá. Ahora si le pegamos a run, esto realmente debería
hacer todo por nosotros. Podemos ver cómo la escuela
comienza a las 0 y realidad está aumentando
igual que 12 si morimos. Entonces está de vuelta a 0. Y eso es realmente, realmente genial. Ahora lo último que
tenemos que hacer es que tenemos que
asegurarnos de que tengamos una escuela secundaria. La forma en que vamos a
hacer eso es que
vamos a hacer una variable más. Vamos a ir a
la secundaria pública. Entonces sólo vamos a
tener un nuevo procedimiento. Lo llamamos su vacío público. Vamos a decir, si la puntuación es
mayor que la secundaria, entonces la secundaria,
lo siento por estos. Entonces la secundaria
es igual a anotar. Eso básicamente va a asegurarse de que
tan pronto como moramos, comprobamos si nuestras
escuelas mejores que nuestra
preparatoria actual y si está dentro de una búsqueda de
nueva preparatoria, nosotros siempre hay que llamar a esto
desde nuestras máquinas estatales. Vamos a ir a Gerente Estatal
y crear una referencia a este gerente de escuela pública para lo que acabamos de
atrapar a nuestra escuela, pero es un gerente escolar. Y luego por aquí en el dado, vamos a decir después de
este restablecimiento gravedad, vamos a decir Score dot n Eso básicamente va
a ejecutar ese procedimiento. Por lo que en cuanto
morimos revisamos nuestros puntajes
mayores que una secundaria. Obviamente, una
secundaria se va a
fijar a 0 al principio. Entonces si volvemos a u y d, sólo
tenemos que asignar un valor a nuestra referencia por aquí. Entonces si vamos a nuestro jugador, podemos ver que nuestra máquina estatal
no es una ciencia
que se asegure de arrastrar en su camión
escolar por allá. Para que podamos almacenar nuestra cosa. Y si hace clic en Jugar, en realidad
deberíamos tener un sistema
de bachillerato totalmente operativo. Si vas aquí a rastreador
escolar, mira cómo preparatoria 0
y nuestro puntaje es 14. Si morimos nuestra preparatoria,
etcétera, 18. Y luego si morimos
antes de llegar a los 18, no
se restablece,
lo cual es realmente genial. Ahora lo último que
vamos a hacer es que
sólo vamos a hacer una copia del
texto de partitura para arrastrarlo hacia abajo. Y vamos a
llamar a esta secundaria. Haga clic aquí. Asegúrate de cambiar
esto a puntuación más alta. Entonces sólo vamos a
tener eso justo debajo. Quiero hacerlo un poco más pequeño por lo que es menos prominente. Piensa que eso me
queda bien. Y luego tal vez un poco
abajo. Y luego por aquí,
si es mayor, sólo
vamos a
asegurarnos de que configuramos nuestra nueva sonda de
malla de texto público. Usted come. Vamos a hacer una llamada
Secundaria como calor. Sólo vamos a poner
un comentario como hicimos última vez, texto de secundaria. Entonces por aquí vamos a decir que punto de texto escuela secundaria
equivale a punto a
cadena de secundaria y luego paréntesis. Esto es básicamente
para asegurarnos de que mostramos lo que
es nuestra preparatoria cada vez que ahora debemos
asegurarnos de asignar esa preparatoria. Así que una vez que se cargue de nuevo,
ponga esa preparatoria, voy a cambiar el nombre de la mía
también la secundaria, así que sé exactamente lo que es. Eso debería funcionar perfectamente bien. Volvemos a tener ese problema, pero eso está bien. Vuelve a nuestro juego. Y podemos ver que nuestra
preparatoria es 453 en este momento porque no lo
estamos anulando. Si nos estrellamos,
entonces se establece en 18. Y si vamos más que eso, podemos ver que ahora es 27,
lo cual es realmente cool. Lo último que tenemos que hacer es agregar esos mismos textos
que
teníamos aquí. Asegúrate de copiar eso a través. Por lo que tenemos puntaje
más preparatoria y luego solo vamos a cambiar
esto a la secundaria. Entonces todo debería estar
funcionando perfectamente bien. Este código corto de aquí, en realidad
vamos a hacer toda
nuestra secundaria por nosotros. Y con esa pequeña
llamada de método del Gerente Estatal, que hemos vinculado,
todo
estará funcionando perfectamente bien. Simplemente adelante y ábrelo. Y si corremos, podemos
ver nuestras preparatorias Carney por tres porque
eso es lo
que entidad que si haces esa
secundaria 18, sigue adelante. Tratemos de
pasar los 18 en esta ocasión. Sólo a los 29. Si muero, son 37 y se
salvó si voy a los 18 y
fumo va a sobrescribir, lo cual es realmente, realmente genial. Por lo que otro gran paso hacia la dirección correcta
para un juego móvil. Gran trabajo, todos,
y los veré en el siguiente video donde
vamos a cubrir ahorros que nuestra
preparatoria se ahorre incluso con cierre y recargue el juego. Te veré en el siguiente paso.
16. Guardar: Oye ahí y bienvenidos de
vuelta a la unidad, o en este caso Visual Studio. Ahora en este episodio bastante
corto, solo
vamos a repasar un
sistema de ahorro rápido para que nuestro juego empiece
a abrir
el guión escolar que creaste al
igual que tengo ahora. Ahora aquí arriba podemos
ver puntuación es matemática, F dot round end, player dot transform
que nos lleva la escuela y podemos tener nuestro Score
Text sido asignado aquí. También creamos esta variable
de secundaria, que básicamente
va a comprobar si tenemos un puntaje
alto o no, lo cual es realmente, realmente genial. Es realmente, realmente
sencillo
asegurarnos de que podamos
ahorrar como preparatoria cuando cocinamos el juego y podemos recuperarlo
una vez que lo carguemos. Y eso es usar algo
llamado prefs de jugador. Ahora una unidad que tiene este
sistema incorporado para ahorrar y
podemos usarlo para juegos móviles porque mientras se almacena
localmente en el dispositivo, nadie va a
poder hacer codificar eso porque va a estar
encendido un teléfono, así que es genial. Por lo que aquí tenemos un sistema para ver si nuestro puntaje es
más alto que una secundaria. Debajo de esto, básicamente somos
una secundaria de cierre de sesión. Y esto es básicamente decir, está bien, tienes una
nueva escuela secundaria. Y si tenemos una
nueva secundaria, vamos a
querer salvar eso. Entonces vamos a escribir en mayúscula P, jugador prefs, punto,
y luego establecer int. Ahora podemos básicamente
poner lo que queramos
llamar a un entero
dentro de estos corchetes. Entonces voy a nombrar el mío. El puntaje pondrá una coma y luego ponemos el valor que queremos poner dentro de las escuelas. Voy a escribir en la secundaria. Si podemos ver estamos salvando nuestra preparatoria en el juego
escolar aproximado. Entonces por aquí en la
parte superior vamos a decir
estrella nula bajo el personal cuando
iniciemos el juego. En otras palabras, cuando
dejemos de jugar de nuevo, vamos a asegurarnos de que
consigamos esa variable entera y establecemos la puntuación más alta para que sepamos cuál es
nuestra preparatoria. Por aquí. Vamos a decir jugador prefs, dot y getint, open
brackets score. Eso básicamente va a devolver lo que
pongamos dentro de la puntuación. Y voy a seguir adelante y pondré
la secundaria igual a eso. Eso va a ser realmente genial. Pero ahora está en
el inicio de cada juego que dijimos en la preparatoria a donde lo guardamos como cada
vez que se obtiene una escuela secundaria. Debajo de esto,
simplemente puedo decir texto de secundaria. En realidad podemos simplemente
copiar esta línea. De hecho, arrástralo por
aquí, texto de secundaria. Y ahora estamos poniendo la
preparatoria en la estrella. Estamos mostrando lo que es
con estos simples qué, tres líneas de código. Obviamente podríamos añadir
también arcilla o tal vez dot save al final. En realidad
no hace tanto. En mi experiencia, he encontrado que
lo salva sin esto, pero si quieres,
puedes hacerlo. No lo sé. A lo mejor es algo
que no me he topado con lo que ahorra. Entonces tal vez solo ponerlo
ahí por buena medida, pero en realidad no es
esencial en mi experiencia. Después con estas cuatro
líneas de código, nos fuimos, ella creó nuestro
propio sistema de ahorro. Tenemos nuestro
ahorro de secundaria cada vez que
obtenemos uno nuevo y
leerlo cada vez que
empezamos el juego, esto realmente va
a funcionar perfectamente. Ahora en el próximo
episodio, vamos a ir todas las mejoras visuales. Y después de eso, vamos a entrar en todo tipo de otras
cosas ahora de nuevo, pero es realmente bueno tener
este crucial sistema de ahorro establecido en un juego de
una manera tan simplista. Espero que hayas disfrutado este episodio
realmente corto, y te veré
en el siguiente.
17. Mejorar los elementos visuales: Oye ahí, y bienvenidos de
nuevo a la unidad. Ahora en este episodio, esta va a ser una
de las cosas más geniales que vamos a añadir
a nuestro juego móvil. Vamos a
mejorar los visuales diez veces
más que eso en realidad. Quiero decir, si volviste a hacer
eso
ahora mismo, no se ve mal, pero no se ve muy bien. El problema con nuestro juego en este
momento es que tiene amarillo sobre azul y verde,
y tenemos rojo. Simplemente no es un
gran esquema de color. Sólo voy a mantener esto como amarillo porque creo
que las plaquetas bonitas, pero quiero cambiar
algunas cosas. Podría cambiar el
tiempo de las cosas. Entonces para empezar, voy a hacer que el fondo sea negro porque creo que eso se
verá bastante cool. Así que voy a seguir adelante y
arrastrar eso de derecha a abajo. Ahora tenemos un fondo
negro. Ahora, lo segundo que
voy a hacer es que
voy a ir con el jugador
y voy a hacerlos un poco más brillantes así. Creo que eso se ve bien. Entonces voy a ir a
estas piezas de flujo y
en realidad voy a cambiar
ese color a azul. Así que voy a ir por
aquí, déjame abrir los pisos y ver que estos
cambios surtan efecto. Voy a hacerlo como un
bonito azul claro por ahí. Creo que eso es bastante bueno. Voy a copiar ese hexadecimal. Puedo ponerlo en
el otro para ir
al medio ambiente despegue pisos y luego estallar eso justo adentro. Creo que eso se ve mucho mejor. Ahora la última vez que alguien va
al triángulo y
lo hace un poco más rojo. Entonces ahí vamos, Eso se ve bien. Ahora declaro juego,
creo que es una
mejora visual muy grande que podemos ver. Ahora se ve mucho mejor. Se parece más a un juego de arcade
real, como un viejo juego de arcade que a
lo que teníamos antes, el
raro esquema de color. Pero en realidad podemos
hacer esto mucho mejor con el uso
del post-procesamiento. Si no has
oído hablar de ello antes. post-procesamiento es básicamente
estos efectos que podemos añadir visualmente a nuestro juego para
que se vea mejor. He ido adelante y creado
este post objeto vacío, aún no le he agregado
nada. Solo asegúrate de que si no lo
has hecho ya, solo puedo eliminar el
mío, muéstralo. Voy a ir a crear vacío, y lo
voy a llamar post-procesamiento. Eso es en realidad mucho mejor. Entonces vamos a centrarlo en el medio. Asegúrate de que
todo esté configurado en 0. Entonces voy a entrar a
mi gestor de paquetes de ventanas. Y en realidad voy a agregar este paquete de post-procesamiento y esto te lo va
a permitir. Todo lo que quiero hacer es
hacer clic en Instalar. Y sólo va
a tomar un tiempo. Una vez que haya terminado de compilar
scripts en todo, podrás empezar a publicar añadiendo el juego CIO de
post-procesamiento. Entonces ahí vamos, bastante rápido y voy a hacer click en mi objeto de post-procesamiento. Y voy a
seguir adelante y voy a hacer clic en un volumen de post-procesamiento. Por lo tanto escriba el volumen del proceso de post. Ahora aquí es donde realmente
vamos a crear nuestros efectos de
post-procesamiento. Pero antes de hacer
eso, necesitamos agregar una capa a la cámara, que básicamente la habilita para que podamos tener
postprocesamiento. Así que voy a ir a
postprocesar gametos por aquí, capa post-procesada. Y esto va a
ser lo genial. Vamos a ir por aquí
y tenemos nuestro gatillo. Ahora la lista
se puede establecer en nada. Así que eso es básicamente decir, está bien, que tipo de
post-procesamiento. Si nos fijamos aquí, establecemos lo que queremos para poder
agregar postprocesamiento. Entonces en realidad me voy a
poner a la capa de agua, no por ninguna otra razón, aparte de que no vamos a
usar la capa de agua. Entonces eso es algo
así como una capa de repuesto. Tenemos que hacerlo agua y dejar
todo lo demás igual. Entonces voy a ir a
mi post-procesamiento. Voy a cambiar
esta capa por aquí a agua, que es realmente genial. Ahora voy a marcar
esta es la casilla global. Y voy a ir al
perfil y vamos a hacer clic nuevo. Eso va a hacer un perfil de
post-procesamiento para nosotros. Y si vamos
a ganar
va a poder
ver esto en acción. Voy a ir aquí
por efecto inmunidad. Y hago clic en gluten. Y este va a ser nuestro
primer efecto post-procesamiento. Si aumento la
intensidad aquí, se
puede
ver como que hace. Obviamente eso es un poco mucho, pero eso es algo así como el efecto
general de la floración. Agrega este bonito azul. Se puede ver que va a
hacer maravillas para nuestros juegos. Voy a hacer mi Bloom. A lo mejor algo como vinculo
cinco es probablemente una buena, tenemos
algo bastante bonito de neón pasando por lo que cabe. Voy a dejar mi garganta a uno porque creo
que en realidad está bien. Y todas las demás cosas que
voy a dejar como el buey, creo que eso se
ve bastante bien. Podría haberlo hecho, quiero
cambiar el color a algo así como rojo obviamente. Y luego tengo una chica roja, amarilla si una de la barra amarilla y todo lo que
se ve bastante fresco, pero también le agregan tal vez una verde
o una azul si la azul, pero voy a dejarla como blanca. Y ahora podría agregarlo
a los datos azules porque, pero ya voy a ver, creo que el blanco se ve bien finanzas encendido
para desmarcar ese color. Ahora voy a sumar mi segundo de mis tres efectos
y voy a añadir un efecto neto vago sobre si
estoy pronunciando ese derecho, voy a ir aquí a la intensidad. Voy a aumentar
la intensidad a alrededor. Se puede ver una especie de
lo que está haciendo que es el efecto neto natural. Voy a hacer de la mía
algo así como 0.3. Entonces es un poco sutil, pero se puede
ver como que en los bordes. Si lo hice 0.5, eso
será un poco mucho, al menos 0.3. Creo que es un
buen punto medio. Entonces el último factor
que voy a añadir va a ser la gradación de color. Esto puede ser bastante
complicado, pero no te preocupes, no
vamos a estar usando todos estos. Solo vamos a
hacer clic aquí el modo y cambiar esto a Rango de
baja definición. Y luego por aquí nuestra temperatura no
dejaría fuera el tinte. Podemos irnos, pero
en realidad vamos a asegurarnos que la temperatura
esté fijada en 0, que es, entonces
vamos a ir por aquí a estos tres abajo y estos
son los
cambios bastante grandes saturación,
brillo y contraste. En realidad voy a
cambiar esto a diez, brillo de diez también. Y asegúrate de que mi
contraste esté tal vez lleno. Tengo incluso a las diez también,
pero creo que eso hace que se vea un poco menos agradable. Entonces hagámoslo lleno incluso
a través y seamos mejores. Y podemos ver ahora
tenemos lo que creo que es un millón de veces juego de
mejor aspecto. Si voy adelante y pego Play, puedo ver que este
juego, en mi opinión, se ve diez veces
mejor que lo que hizo. Ahora parece
un juego real. Esto en realidad se
parece mucho a uno de los primeros juegos que he hecho llamado raíz cuadrada. Sí, es algo así en lo que estoy basando este curso, pero sí, puedes ver cómo el juego
se ve mucho mejor ahora tenemos los efectos de brillo de
luz, y tenemos todos ellos
bonitos visuales que agregamos. Tenemos los mejores colores. Creo que eso se
ve bastante bonito. Ahora, lo último que
quería hacer es agregar un efecto de muerte y lo
vamos a hacer con un sistema de partículas. Ahora esto va
a hacer que nuestro juego se vea millones de veces mejor. Confía en mí, va a
haber un buen efecto cuando estemos pidiéndome
que lo explore y luego vamos a responder, eso va a
lucir realmente genial. Pero antes de hacer eso, voy a querer seguir adelante y asegurarme de que deshabilitamos y habilitamos mi lugar
para ello cuando muera porque en realidad ese es el
primer paso de este proceso. Voy a ir aquí a mi guión de Gerente
Estatal. Voy a abrir eso
y creo un renderador público de sprites
y lo llamo spread. Entonces por aquí
bajo mi die void, simplemente
voy a
ir guión bajo y decir sprite dot habilitado es igual a falso. Y eso básicamente significa ir a cualquier sprites
adheridos a ti, que va a ser el renderizador sprite de este
Jugador. Ve aquí y
desactiva así. Entonces no va a estar activo. Todo lo demás es
siempre trabajo C21. Pero entonces la segunda cosa que
voy a copiar este código
y bajo responder, voy a establecer eso para que
sea verdad justo al final. Básicamente, como
lo estamos haciendo con muchas cosas como nuestra gravedad
y todo lo demás. Sólo estamos configurando que
sea algo más fuera del estado off ha cambiado,
lo cual es realmente genial. Ahora solo necesito
ir al jugador y asegurarme de que he asignado
mi renderador de sprite aquí. Así que voy a ir a la cima. Y si trato de arrastrar esto hacia abajo, realmente no me va a dejar. En cambio solo
voy a ir por aquí y voy a hacer click por ahí y seleccionar jugador. Y eso
me va a dar el correcto, que es exactamente
lo mismo que lo arrastró hacia abajo. Ok. No pude porque
había tanto en el camino. Ahora me olvidé y juego mi juego. De hecho puedo ver esto en
acción es si voy y estoy jugando y redondeo a un pico, mi sprite desaparecería y luego responderé, pero eso
no se ve muy bien. Queremos agregar un
efecto y lo
vamos a hacer con
un sistema de partículas. Voy a ir Agregar Componente. Voy a escribir en sistema de
partículas. En cuanto hayas agregado
tu sistema de producto, haz clic en el reproductor
y haz clic en Shift H, que básicamente
lo pone en aislamiento, usa solo lo que puedes ver, cual es realmente,
realmente útil para nosotros. Entonces vamos a
seguir adelante y vamos a empezar
a agregar un sistema de
partículas. Un sistema de partículas es, estoy seguro de que puedes adivinar que
es un efecto de partícula. Y actualmente estos son
todos los ajustes predeterminados, pero no queremos esos. Así que vamos a cambiar fue
lo primero que vamos a
hacer es que vamos a ir a la animación de hoja de
textura. Voy a pasar por
cada paso porque este es un componente bastante
complicado. Me llevó mucho tiempo
conseguir la caída de, pero tengo un parcial más grande pero ahora suficiente para hacer un bonito
efecto de partícula para nuestra profundidad. Vamos a Texture Sheet
Animation, compruébalo, y pulsamos sobre él y luego cambiamos este modo de cuadrícula a sprites. Entonces entra en activos del curso y arrastra tu plaza por ahí. Y ahora casi deberíamos
estar usando R-cuadrado, que necesitan ir al
renderer y seleccionar el material como Sprites Default. Y entonces estamos usando cuadrados
normales ¿verdad? Ahora, regresa aquí y podemos
ver que es un efecto de looping, pero obviamente no queremos
que sea buceando porque
no los tendremos una vez
para desmarcar el looping. Y si hacemos clic en Reiniciar, podemos ver que este efecto continúa durante cinco segundos y luego se detiene. Y podemos verlo pasando,
pero no lo queremos de todos modos, y queremos que sea
como 0.2 segundos. Esa va a ser la exclusión de la ley
judía. Y también queremos
que haya mucho más rápido. Entonces no lo haremos, empezaré toda la vida para ser algo menos parecido a 0.8. Y podemos ver que todos nuestros
productos van y luego se van. Para que eso sería perfecto
y luego responderá. Ahora también queremos que la
velocidad sea mucho más. Así que vamos a cambiar eso
a diez y luego el producto va a ser
mucho más rápido, lo cual es agradable. Y queremos que el tamaño sea un poco más grande. Así que
voy a hacer que sea 1.5. Y tenemos estas agradables
partículas más grandes, que es genial. Entonces por aquí en la emisión, aquí es donde vamos a
cambiar un montón de cosas. Vamos a hacer de esta
tasa con el tiempo un 100. Podemos ver ahora eso es un poco más bonito, pero
en realidad no es suficiente. Así que voy a hacer esto 250. Ahí vamos. Esa es una
buena cantidad de partículas. Podemos incluso hacer que se lancen 300. Pero no tienes que preguntarle. Ahora, voy a ir a Shape y en realidad
mi forma como cono, que es perfecto para este hecho. Entonces deja todo ahí dentro. Ahora voy a
cambiar dos cosas. En primer lugar, quiero cambiar
mi velocidad a lo largo de toda la vida. Entonces marca esa casilla
y luego ábrala. Haz click en el tamaño,
solo vas a hacer click en este
gráfico generado de forma automática por aquí, entonces podemos ver
velocidad de vida, van a ser
más pequeños a medida que avanzan. También puedes elegir
ese si quieres. Es bastante similar, pero me
parece que para explosiones, éste funciona un poco mejor. Eso es genial. Entonces puedes seguir adelante e
ir al color a lo largo de toda la vida. Revisarlo, haga clic en Color. Y entonces vas
a querer seguir adelante y click al final por aquí, este de arriba y hacer que 0. Y eso básicamente te va
a dar un bonito efecto de
desvanecimiento así. Ahora lo último que tenemos hacer es en realidad asegurarnos de que el color de estos sea el mismo que el color
que estamos usando. Por lo que da click en el color, da
click en esta multa para simplemente seguir adelante y elegir
algún lugar de tu plaza. Ya se puede ver
que se va a quedar bastante similar, lo cual es bonito. Ahora, hay algunos cambios
que podríamos encontrar que necesitamos hacer, pero probemos esto por ahora porque podría funcionar perfectamente. Para hacer eso. Obviamente sí necesitamos
codificar para decir cuándo queremos
hacer las partículas. Entonces presiona Shift H de nuevo, de
vuelta a nuestro juego. Podemos ver si la jugamos ahora está frente
al fondo, lo cual es agradable porque nuestro
fondo es menos diez. De no ser así, podríamos
cambiar un factor aquí que lo haría ir al
frente , pero lo es,
así que está bien. Entonces vamos a
entrar en nuestro guión. Aquí. Sigue siendo
el Gerente Estatal. Vamos a crear un sistema
público de partículas como ese en nuestra mina de carbón PS. Entonces por aquí bajo mi dieta, sólo
voy a decir justo
debajo de mi araña que casi
se dicen ps, dot, play. Entonces paréntesis y punto y punto y coma. Bueno, eso va a hacer
es que en realidad
me va a dejar jugar este efecto
mientras lo firme. Así que voy a ir aquí a mi guión y arrastrar mi sistema de
productos por ahí. Voy a minimizar
eso para que puedas verlo. Ahora antes de probarlo, vamos a seguir adelante y
asegurarnos de que tengamos un plan
descontrolado despierto porque lo contrario jugará tan pronto
como empecemos. Vamos a hacer clic en él. Entonces empezamos,
todo está bien. Si morimos debería funcionar. Podemos ver que soy muy simpático. Explosión de partículas
se desvanecen efecto, lo que creo que es bastante
bueno en este momento. Son pocos
los cambios que podamos hacer. Por ejemplo, creo
que necesitamos
tener el color un poco
menos al principio. Así que hagamos que este
alfa baje a un 150 sobre el color a lo largo de toda la vida. Entonces lo último que quiero hacer, en realidad
quiero sumar
más soy como si fueran 500. Y también voy
a hacer este tamaño un poco más pequeño. Entonces lo
haré 1.2. Eso va a ser sobre
nuevo efecto de partícula. También podemos hacerlo
un poco más rápido, en mi opinión, lo
hacen 15, déjame ir. Eso debería ser mejor. Si ahora nos detenemos. Deberíamos ver nuestro
efecto de partícula en acción. Minuto que morimos, incluso podemos
bajar aquí y verlo. Y ahí vamos. Creo que
eso es bastante bonito. Oh, se le cortó la pantalla. Así que déjame mostrarte
cómo se ve en un triángulo normal. Por aquí. Ahí estamos. Creo que
eso se ve bastante bonito. Obviamente podría mejorarse. Tal vez intente
jugar con ella. Ver puedes conseguir que la tuya se
vea mejor que la mía. Pero creo que por ahora eso
es exactamente lo que necesito. El gran noticia es por
todo nuestro trabajo anterior y al presente se movió
si caemos y morimos, como estoy tratando de
ilustrar ahora, sólo hacer el bien en nuestro juego. Entonces no se mueve, lo cual
es realmente, realmente genial. Ojalá después de hacer estos, usted ha hecho algunas
drásticas actualizaciones visuales. Viga de acero y la tuya está
mirando mucho mejor. Basta con echar un vistazo a cómo se veía
nuestro juego
justo al principio y míralo ahora
creo que se ve un millón de veces mejor. Entonces grid que alguna vez, creo que estas
mejoras de visión realizadas en nuestro juego se ven mucho
más profesionales. Y estamos una vez más, acercándonos y más cerca nuestro juego quedando terminado
tan mayor si todos, te
veré en el siguiente video.
18. Diseño del sonido: Oye ahí y bienvenidos de
vuelta a la unidad. Ahora, como estoy seguro de que recuerdas
en nuestro último episodio, actualizamos fuertemente nuestro componente visual de
juegos. Pero ha habido un aspecto del desarrollo de juegos
que hemos estado descuidando todo este tiempo, y ese es nuestro
diseño de sonido de juegos o componente de audio. Ahora obviamente esto se rompe en dos
categorías principales de juegos, música y efectos de sonido. En este curso, o
más bien este episodio, vamos a estar agregando
ambas cosas. Ahora, sólo voy a ser un,
un efecto sonoro para
el salto y para la animación de
la muerte y
sólo una pista musical. Pero si quieres
oxidar este video, puedes ir ham añadiendo
tantas estructuras nuevas que quieras o efectos de sonido
extra porque
vas a estar usando exactamente
el mismo proceso que
voy a estar usando. Por lo que será fácil expandirse. Ahora para empezar esto,
primero voy a hacer
un manager de música. Así que voy a hacer clic derecho
aquí, Create Empty, y voy a nombrar a
este manager de música. Entonces voy a obviamente centrado igual que siempre lo hago. Y entonces voy a
querer añadir a esto
mi
guión gestionado de música. Así que voy a ir a crear un nuevo guión de C-sharp
y voy a llamar
a esta música, manejarlo. Eso realmente va
a ser un administrador de sonido. Puedes comer lo que quieras
entenderme , mi manager de música. Entonces voy a
seguir adelante y abrirla. El motivo por el que lo estoy nombrando manager de
música es porque
eso es obviamente lo primero que
vamos a añadir, agregando el sonido todavía. Entonces voy a crear
una referencia a, y esto es lo que
llamamos fuente de audio. Esta es básicamente una forma
unities de decir un reproductor MP3 o web. Entonces voy a ir fuente de audio
pública, y voy a nombrar a la
mía AS capital a De lo contrario, es la palabra como que obviamente está
restringida. Entonces AS entonces voy a seguir adelante
y crear un vacío público. Y lo voy a llamar laico. Seguro que no lo tiene filtro automático en el reproductor conecte o desconecte. Y voy a ir como arcilla oscura. Ahora esto es básicamente
asegura cómo podemos vincular fuentes de audio. Yo voy aquí, muchacho, parado. Entonces por aquí voy
a llamar vacío a esta arcilla. Entonces, en efecto, estoy diciendo
como juego al principio, obviamente esta es una forma bastante
tediosa de llegar allí, que tal vez
habrás notado, pero solo estoy
tratando de ilustrar algo,
así que ten cuidado conmigo. Entonces por aquí necesitamos
crear una fuente de audio. Así que vamos a seguir
adelante al manager de música, porque obviamente
vamos a sumar la música. Van a ir
a los activos del curso y vamos a arrastrar
el archivo de música ahí. Ahora este archivo de música es una canción libre
de regalías de Internet, pero puedes usar
lo que quieras. Solo asegúrate de que no
estás usando música de
Cohen que se infringe
los derechos de autor de alguien. Si vemos que esto es libre de regalías, adelante y marca esta casilla. Y entonces vas a
querer seguir desmarcando
el juego despierto porque estamos
haciendo eso manualmente aquí. Obviamente podríamos simplemente
hacer clic en Jugar despiertos, pero como dije, estoy
tratando de ilustrar algo. Entonces pon el volumen
algo así como 0.5 y el pitch también,
pienso en 0.9. Eso es básicamente
ralentizar la canción hecha. Creo que suena
mejor así, pero no tienes que hacerlo. Puedes cambiar el tono
a donde quieras, realmente sube a tres
y abajo dos menos tres cambiarán este 0.5. No recomendaría
hacerlo, lo siento, 0.9, no recomendaría hacer
nada menos que 0.4, lo contrario se pone
un poco demasiado lento. Y entonces vamos a entrar en
nuestros gerentes de música todavía, voy a agregar nuestro guión de manager de
sonido o lo llamaría gerente de música. Voy a arrastrar
nuestro abastecimiento de audio y podemos ver si
desmarcamos el plan despierto, pero en cuanto hacemos clic en Play, nuestro juego va a
dejar de reproducir música. Muy, muy cool. Ahora tenemos nuestro guión musical y obviamente puedes jugar con eso
todo el
tiempo que quieras. He cortado esto específicamente, por lo que debe bucle, pero si quieres
hacerlo para que te desvanezca dentro o fuera,
usamos pista diferente. Obviamente puedes
cambiar todo eso. Acaba de cambiar el
archivo de audio que estás haciendo. Todo esto está haciendo es reproducir
un archivo al hacerlo. Si cambias
la música,
asegúrate de reajustar el tono. De lo contrario podría ser
pero sensación lenta, gusto, pero en este momento todo
está funcionando perfectamente bien. Ahora lo segundo que necesitamos
agregar son los efectos de sonido, y vamos a hacer
aquellos usando fuentes de audio. Pero el problema con el uso de fuentes de
audio es que si
tienes múltiples
fuentes de audio en un objeto, se hace un poco difícil
diferenciar entre ellas. Así que en realidad voy a almacenar fuentes de
audio para el reproductor, un reproductor y uno
en otro objeto. Realmente no
importa lo que use. Podría usar el sistema de
eventos si
quisiera sostener un objeto de pisos de
desove, que obviamente es
un espacio de almacenamiento, realmente no importa. Voy a poner el mío en el
medio ambiente porque ese es uno de los objetos más
inútiles. Pero a pesar de que
éste no
se mueve, todavía va
a reproducir el audio. No es que el audio
se vea afectado por lo lejos que vamos a seguir adelante
y agregar una fuente de audio. Y veremos que
lo arrastramos la última vez. Esa es sólo una
forma rápida de hacerlo. Y voy a añadir el
efecto de tinte de esta fuente de audio. Entonces nos aseguraremos de
desmarcar el juego despierto. Y quiero hacer el
volumen también alrededor de 0.5. Podríamos tener que
ajustarlos más tarde. Ya veremos que voy a ir a mi reproductor y me voy a desplazar
hacia abajo y añadir
otra fuente de audio y añadir el efecto salto, una vez más, cambiando
el volumen a 0.5 y cambiando el
Paraguay a falso. Asegúrate de que tanto el
juego despierto bucle estén configurados en
false para éste. Entonces todo lo que necesito
hacer es que necesito
entrar en mi guión y crear
nuevo vacío público para
jugar a entrar en mi guión y crear otros museos, voy a salir vacío público y
tirar de éste, jugar salto. Debajo de nuestro vacío público. Lei di. Estas básicamente van a ser las otras dos fuentes de audio que voy a ir aquí
y voy a crear como salto como dy. Y voy a renombrar esto como música para poder
diferenciar entre ella. Y por supuesto va a
reajustar eso ahí. Y luego voy a
copiar este código exacto, obviamente solo
cambiando qué audio. Así que algunas cosas por aquí, voy a ir como
saltar el juego de puntos. Aquí. Voy a ir como dy dt. Ahora bien, si estás
notando algo, estos procedimientos son
bastante, bastante similares. Entonces podríamos realmente,
si quisiéramos
usar parámetros y luego
simplemente llamar a un procedimiento. Pero a menudo he encontrado
que el uso de parámetros puede darte algunos problemas
en el Editor de Unity. Y así, por el bien de la simplicidad, no
vamos a hacer eso. Lo que quiero decir con h en
el editor de Unity es porque estos scripts
se están enfriando por código, no
habría problema en absoluto. Pero si queremos llamar al
script a través de un objeto, quieres hacer click en un botón
y en el vacío específico de Coolidge. Y teníamos demasiados parámetros. A veces no
nos deja referirlo correctamente. Así que no te
preocupes por eso por ahora. No va a ser un tema. Vamos a correr
también, pero en
realidad podríamos reescribir esto
como un solo procedimiento. Solo estoy eligiendo no hacerlo porque esta manera es un poco
más fácil de leer. Pero si te das cuenta de
que Gran trabajo, y ahora sólo tenemos que
entrar en nuestro gerente de escena. Tenemos que asegurarnos de que
llamamos diapasón. Así que acude a nuestro director de escena
y vamos a crear un gestor de música pública,
buscar música de seguimiento. Entonces vamos a bajar a este tablero de buceo y desprovistos. Y vamos a
asegurarnos de que lo
llamemos en cuanto moramos. Entonces después del sistema de partículas, voy a ir a la música. Jugar morir. Perfecto. Y luego por aquí
voy a copiar este código exacto. Y también vamos a querer jugar esto
cada vez que saltamos. Pero obviamente eso no
está vinculado con el Gerente Estatal que
va al movimiento. Entonces vamos a hacer
exactamente el mismo proceso. Me voy a hacer público, gerente de
música o música. Entonces por aquí en el salto vacío, vamos a ir música
dot play dados. En este momento. Vamos a querer
crear saltos. Salto tan gris oscuro. Un poco de
asignación tenemos que hacer antes de que esto funcione. Pero una vez que hayamos hecho
eso, todo debería funcionar perfectamente LC. Hemos cambiado el guión de
movimiento,
el guión de State Manager,
y el gerente de música. Entonces vamos a
revisar todos los que tienen todo
asignado que deben. Primero comenzaremos
con guión de movimiento. No tiene un gerentes de música se
aseguran de arrastrar eso. Tampoco el Gerente Estatal. Entonces bajo el manager de música, tenemos que asegurarnos de que en realidad
tengamos las fuentes de audio adecuadas. Entonces arrastra como música por ahí, porque cambiamos
el nombre, se
reiniciará para asegurarte de que hagas eso. Arrastra el jugador tiene el salto y el ambiente
tiene el tinte vacío. Y entonces voy a seguir
adelante y jugar el juego y ya se puede
ver cómo suena esto. Muy bien, eso fue genial. ver en esa corta
cantidad de tiempo, realidad
hemos creado un sistema de audio en pleno
funcionamiento con música y sonido. Y lo bueno de hacer
esto, obviamente podemos ver por aquí tenemos algún codebook bastante
inútil llamando play desde
un procedimiento de tienda que lo está haciendo por sí solo, que es no muy ideal. Pero la razón por la
que quería hacer esto es porque ahora tenemos un enlace a
nuestro audio y música. Y más tarde cuando
creamos nuestro sistema de menús, vamos a crear
funcionalidad para silenciar todas estas fuentes de audio. Y eso en realidad nos
va a dejar hacer eso, lo cual es realmente, realmente genial. Estén atentos para ese
Buen trabajo a todos. Ojalá todo
funcione y
obviamente voy a mi código y
recursos si quieres, puedes cambiar estas cosas de
audio para estar
donde quieras. Simplemente arrastra tu nuevo
archivo ahí y se actualizará todo.
Y gran trabajo. Te veré en el siguiente video.
19. Sistema de menú: Hey ahi, y bienvenidos de
vuelta a Unity. Y obviamente en
el último episodio
agregamos sonido y música apuntamos varias veces haciéndolo sentir
mucho más receptivo. Podemos ver eso aquí
igual que lo hicimos en la última fila. Tan super cool. Ahora bien, si bien esto es
increíblemente genial, Algunas personas
en realidad no pueden querer audio y sonido igual que nosotros. Espero que lo hagas al menos
porque has tenido que
escucharlo para el episodio
pasado a la mitad. Vamos a añadir
un sistema de menús que nos
permita seleccionar si reproducir sonido o silenciado
y también jugar el juego. Y nos llevará de
vuelta allí cuando moramos. Esto en realidad va
a ser bastante simple. Va a ser
probablemente una de las cosas más complicadas que
vamos a hacer, probablemente lo más
complicado que queda por hacer en este curso. A lo mejor te podría encontrar agregar, añade un poco confuso. Pero aparte de eso
este sistema de menú, solo
se necesita un poco
acostumbrarse, pero después de eso
deberías estar bien. Así que para empezar,
vamos a
empezar primero haciendo un script de menú. Voy a llamar a
nuestro menú de guiones. Entonces voy a seguir adelante
y hacer doble clic en esto. Ahora antes de que incluso
empiece a hacer mi menú, estoy seguro de que se puede pensar que no
querría a diferentes estados. Vamos a querer un estado en el
que estemos jugando. Estamos mostrando el texto de la escuela
y la preparatoria. Y vamos a
señalar dónde
no estamos mostrando los textos de la escuela y
la secundaria, que es exactamente lo que
vamos a arreglar. Aquí. Nosotros, vamos a tener un vacío
público y llamarlo menú. Directamente debajo de
eso, vamos a tener otro vacío público
y llamarlo menú alto. Entonces lo que vamos
a necesitar hacer, vamos a necesitar crear
un sistema donde podamos escondernos, asegurar botones específicos y otros elementos de interfaz de usuario
basados en lo que queremos. Así que voy a seguir adelante
y hacer eso ahora. En primer lugar, necesito realmente
empezar a diseñar mi menú. Voy a ir aquí a mi interfaz de usuario, y me aseguraré de
desmarcar la escuela y la secundaria. Así que una vez que esto se carga y
luego haga clic en ellos, como así, haga clic en check para que no
podamos verlo más. Y entonces voy a
dejar de inclinarme mi menú. Entonces voy a ir a
hacer clic derecho en la interfaz de usuario. Y voy a crear un
botón con sonda de malla de texto. Ahora esto va a seguir
adelante y autocompletar. Tampoco podemos ver porque
nuestras
capas de post-procesamiento un poco en el camino. Pero si voy adelante
y escalo eso hacia arriba, deberíamos poder ver hacia fuera, pero agrega acordes brillantes
de nuestro post-procesamiento. En realidad actualmente
veo con esta nueva forma y hay un refrigerador se
puede ocultar artilujos. Si vas aquí a la parte superior derecha, puedes quitarte todos
los artilujos de la escena, lo cual es bastante
útil en este momento. Voy a seguir adelante
y cambiar el nombre de mi botón. Entonces voy a ir
aquí a EU, pero tengo un curso de
activos y
verás por aquí
tienes una jugada. asegura de que todos estos igual que pusimos
la primera calle, estamos llegando a un píxel 1000. Vas a
asegurarte de hacer lo mismo aquí. De lo contrario
van a ser muy grandes. Y luego ve aquí a
jugar una vez que hayas hecho eso y arrastrarlo y poder, podemos ver un botón Play bastante
desfigurado. Entonces voy a ir al
texto y borrarlo. Entonces voy a ir aquí
y fijar el tamaño nativo. Y aquí tenemos nuestro
botón de reproducción, que es bastante genial. Obviamente podría
ser un poco
más pequeño que una escala que sube un poco. Y luego voy a
fijar su posición en la x y la y a 0. Ahora podría encontrar que estas coordenadas de posición
son mucho más grandes. Si trasladamos esto a 60,
sólo mueve diapositivas para eso. Pero si trasladamos a nuestro
jugador a la posición 60, puedes ver que van
completando tu proyección. Y la razón de eso
es porque existen diferentes coordenadas. Estas son coordenadas UI y la otra una coordenadas
mundiales. Así que simplemente no te
confundas ahí. Si pongo esto en 601960, no
va a
ser lo mismo. Hay código que
puedes convertirlos, pero no vamos a necesitar
hacer eso en este episodio. Tan afortunado para nosotros. Entonces voy a seguir adelante y
recontarlo en mis artilujos. Puedo verlos de nuevo. Y voy a
asegurarme de poner eso a 0 y moverlo un poco hacia abajo. Creo que quiero que mi botón Play
sea del mismo color que el piso, así que voy a
seguir adelante y hacer eso. Creo que eso se ve bastante bien. Entonces voy a querer sumar en mi obra de teatro y Opciones de sonido. Voy a hacer muy similar. Voy a hacer clic con el botón derecho
aquí y ir al botón
UI mensaje de texto Pro, y llamar a este sonido. Por aquí, voy a
escribir u1 y música de calidad, lo siento mis botones de música y
sonido. Y luego voy a
ir aquí y borrar ambos los objetos de texto
adjuntos a estos. Mueve ambos por aquí
a la esquina superior derecha. No te preocupes por estas flechas. Eso es solo Unity trabajando
cómo funcionan los botones. Y voy a mover
la música ahí abajo. Y luego voy a
ir aquí y voy a arrastrar música a la música
como lo hice con un sonido de reproducción y el sonido y click Establecer tamaño nativo para
ambos, igual que lo hice. Entonces siempre voy a
escalar estas bajadas. Haré esto alrededor de 0.4.4. Eso me parece bien. Y el mismo teléfono de sonido completo, que es genial ahora en realidad
asegúrese de que sean exactamente
la misma exposición por lo que están justo
debajo el uno del otro. Creo que eso se ve bastante bien. Ahora tenemos nuestro juego con un sistema de
menús en la parte superior derecha. Podemos seguir adelante
y cambiar esto a lo que creo que voy a
cambiar estos colores. Veré cómo se ve
amarillo. No es genial. Creo que los voy a
hacer todos azules, pero en realidad puedes
hacerlo lo que quieras si es enorme,
encuentra la parte. Sí, eso se ve bien o cualquier otro color que
funcione a la perfección. Entonces lo último que tenemos
que hacer es que
obviamente necesitamos crear un juego de pelota de título. Así que voy a
hacer clic derecho en una interfaz de usuario, texto texto Mac Pro y
cambiar el nombre de esto a título. Entonces voy a mover esto hacia arriba. También voy a querer escalar esto **** mucho más grande.
Eso me gustaría. tal vez no sea tan grande, pero lo suficientemente grande la institución
para mover el y hacia abajo. Entonces entonces voy a
cambiar algo de esencia aquí. Entonces, antes que nada, voy
a establecer la alineación
al centro y al centro,
por lo que está justo en el medio. Entonces voy a renombrar. Voy a asegurarme de que
lo tenga antes de cambiar el nombre acción y asegurarme de que mi tamaño de
fuente sea bastante grande. Entonces creo que tal vez
ciento cincuenta millones, doscientos, eso
probablemente sea bueno. Yo no diría
texto nuevo por ahí. Voy a seguir adelante
y de hecho mover ambos
ligeramente hacia abajo otra vez. Asegúrate de que
el título y el sonido de reproducción ambos se movieron hacia abajo y podemos ver que se ve un poco mejor
en mi opinión, entonces que siempre necesitamos
hacerlo del mismo color para que encaje. También podríamos cambiar
la fuente si quisiéramos. Ioc no instaló paquetes de fuentes. No voy a poder hacerlo, pero
voy a dejar el mío como flecha por ahora.
Voy a nombrar el mío. ¿ Quién? ¿Cuadrado? Ahora si no puedes llegar a un nombre
tan brillante como el
cuadrado enfriado, no me toqué. Puedes usar por nombre
donde quieras. Enfriado al cuadrado es
claramente el mejor nombre, pero si no has
podido venir con algo que
no se sientan mal tú mismo. No todos somos
genios creativos como yo. Y después de que hayamos hecho eso, nuestro sistema de menús en realidad se ve bastante completo,
lo cual es bastante genial. Ahora todo lo que tenemos que
hacer es en realidad programar lógicamente hechizos. Porque si golpeamos Play ya que necesitas volver a poner
estos activos, porque así es en realidad como
llegué a mi avión
que golpeamos play. No queremos estos
botones de una manera porque razones obvias. Entonces voy a entrar, queremos seguir adelante y
programar la lógica a estos. Así que voy a ir a mi sistema de
menús por aquí. Voy a crear una
referencia cada uno. Ahora antes de empezar,
asegúrate de ir a la parte superior y a la derecha usando interfaz de usuario punto del motor de
Unity y
usando el protocolo de mensajes de texto, igual que lo hicimos la última vez. Entonces voy
a querer crear unas ODS e ir a texto público Mesh. Tú crias. Y lo vamos a llamar
porque ese va a ser nuestro título. Y entonces vamos a querer
crear un botón público. Y vamos a
llamar a esta obra de teatro, llamada La siguiente música. Vamos a llamar
al siguiente sonido. Entonces tenemos que ir
por aquí a UI. En realidad voy
a poner mi manuscrito justo en UIs para solo
conducir eso allí. Entonces asegúrate de que
firmé mi cosa. Así que reproduzco el botón para reproducir
mi botón de sonido al sonido, mi botón de música a la música
y mi título allí. Y casi terminamos. Lo último que tenemos que
hacer es que necesitamos crear una referencia al
puntaje, al puntaje más alto. Sólo vamos a
sumar algunas comas y luego poner las justo
ahí cuando carguen. Pero el marcador ahí y
la preparatoria ahí. Ahora lo que tengo
que hacer es que necesito crear lógica para cuando
quiero mostrar cuál. Así que obviamente cuando estoy
mostrando el menú, quería asegurarme de
que todo excepto el título y la escuela esté mostrando lo siento, la
escuela y la preparatoria. Y cuando estoy contratando
menú para
asegurarme exactamente lo contrario. Y voy a hacer esto con
parámetros porque sé que he mencionado en el episodio
anterior que a veces Unity tiene
cosas extrañas con parámetros. Pero a menudo he encontrado
que eso es en realidad solo cuando estás usando
más de un parámetro. Así que voy a llamar a
esto desde el código, así que va a estar bien en realidad, pero voy a
seguir adelante e ir aquí. Y esta en realidad puede ser una forma
mucho mejor de hacerlo. Voy a salir al
vacío público, cambiar de banca. Y entonces vamos
a tener un booleano y lo voy a llamar x Ahora a partir de esto,
en realidad podemos establecer cada uno porque obviamente
vamos a
querer ponerlos a ser
completamente contrastando. Quieres decir ya sea
todas estas análogas o ambas de ellas y
tampoco lo harán los demás. Así que voy a ir a aquí,
título dot GameObject. Se me hace referencia al juego
objeto set activo, luego abrir corchetes, y luego estoy obviamente podría
entrar X aquí. Entonces dependiendo de
donde entramos para x, pondría el título
activo a eso. Y
básicamente voy a asegurarme de que me puse hacer esto
cada uno de ellos. Entonces Tyler Rhodes Family, voy a querer
ser lo mismo para calavera, la misma puntuación completa. Y en realidad podemos
llamar a las líneas de código pulsando Control D. Eso es bastante útil
luego a través la misma música de reproducción completa. Y por el sonido. Obviamente esto puede ponerlos todos o nada y
no queremos hacer eso. Queremos establecer que la escuela y la preparatoria sean diferentes. Sólo voy a poner
un signo de
exclamación justo delante de eso. Y eso básicamente
va a decir que no X. Waits código funciona
es que estoy diciendo que estoy entrando un booleano x ya sea
sí o no, verdadero o falso. Y voy a llamar a este
punto si queríamos esconderlo todo
excepto la escuela, traje cambio de menú falso
y luego va a decir ok, Así que al título falso, la
escuela no falsa ni verdadera, la secundaria no falsa ni verdadera, y todo lo demás falso. Y obviamente si
hago lo contrario, va a poner esto verdadero, este verdadero, este verdadero y estos dos falsos, lo cual es realmente, realmente genial, Es una
forma realmente simplificada de hacer esto. Entonces todo lo que necesito
hacer es que necesito
crear una referencia a este
menú desde mi máquina estatal. Iré a menú público. No quiero llamarlo
menu, así que tengo un enlace. Y luego voy a
ir aquí a mi tablero donde estoy
enfriando todo lo demás. Y en realidad voy a
decir menu, dot change menu. Y yo por supuesto,
entré por aquí para que todo esté centrado cierto excepto la escuela
y la preparatoria. Y luego bajo el vacío responder, voy a hacer algo
muy parecido. Voy a subir aquí bajo mi cosa y poner el menú a false. Ahora, lo que esto
básicamente va a hacer es que se va a
asegurar que cuando morimos, el menú se muestre y
luego se remonta. Eso no es del todo
lo que queremos. Te mostraré cómo se ve
eso ahora. Si seguimos adelante y
golpeamos el juego, primero antes de que juegues, en realidad tenemos que
asignar lecturas. Así que vamos a nuestra máquina estatal y asegurarnos de que
configuramos nuestro menú Menu y luego pulsamos Play. En realidad voy
a silenciar el audio porque puedo hablar
para poder hablar con nosotros. Voy a ir con mi
manager de música y voy
a seguir adelante y golpear mute en la música y ya son
lo mismo con el reproductor. Sólo voy a ir
aquí y hacer clic en Silenciar. Y lo mismo con
el medio ambiente. Entonces no voy a tener ninguna antes. Si no haces
esto, está bien. Sólo estoy para poder hablar
sobre ello y no ser destrozado por el muy
fresco restar otra vez. Entonces si voy adelante y pego Play, esto en realidad está bastante
cerca de lo que quiero. Podemos ver que todo
se está mostrando a la vez. Si muero sólo se
muestra el menú y luego eso se muestra. Pero obviamente el
menú no es muy útil para este empleado
hace clic aquí. Realmente no hace
nada que no sea ideal. Así que voy a cambiar un poco esta lógica de
código. En lugar de decir, tener un retraso y luego responder
automáticamente, voy a llamar a esto
responder nulo desde el menú, y te mostraré
cómo funciona eso si sigo adelante y comento esto fuera para que todo lo que está haciendo es esperar y entonces
no pasa nada. Por supuesto, esto es
una especie de uso este código, pero lo vamos a usar
más tarde, así que no lo elimines. Entonces voy a ir por
aquí a mi cosa de juego y desabrochar, haga clic
y haga clic aquí. Y voy a
arrastrar a mi jugador. Déjame ir. Sin función. Voy a ir
hasta aquí abajo a Gerente
Estatal y
voy a hacer clic en responder. Y lo que esto realmente va
a hacer es lucir bastante cool. Vamos a ver obviamente todo está justo
ahí cuando empezamos, que es exactamente como queríamos. Pero si morimos, no respondemos. Y entonces si queremos hacer
click en esto, sí respondemos. Y eso es en realidad bastante cerca cómo queremos que nuestro sistema de
menús funcione, lo cual es de nuevo, realmente, realmente genial. Ahora hay algunos temas. En primer lugar, quería
asegurarme de que estos dos estén deshabilitados cuando empiezo porque no es
así como quería ir. Lo segundo que
quiero asegurarme de que tengo es que quiero asegurarme de que el jugador no esté realmente en estado de movimiento al
inicio del juego. Voy a quedarme en
gerente estatal y voy a poner mi estado en inactivo. Empiezo
realmente no importa lo que pongas aquí porque solo estamos
comprobando si está jugando encendido. Así que incluso podrías poner muerto,
eso realmente no importa. Y entonces lo otro que
voy a hacer es que voy a poner mi gravedad obviamente
en mi movimiento a 0. Empezamos por ser
suspendidos en el aire, lo cual es muy
similar al
día del escritorio sin efectos alelos. Volvamos a la Unidad. Y podemos ver cómo se ve
esto por aquí. Si empiezo, estoy
suspendido y en cuanto hago clic en Play aparezco,
lo cual es realmente genial. Si muero, voy a tener eso nuevo y pop up y
todo está funcionando perfectamente, cual es realmente, realmente genial. Ahora los pocos cambios se deshacen. En primer lugar, quiero hacerlo
para que vuelvas al
principio y
respondas incluso antes de que
tengas todos los demás efectos. Por lo que en realidad tenemos que
volver a esa co-rutina. Vamos a poner esa
respuesta vacío de nuevo aquí. Pero en lugar de
convertirlo en un Boyd,
vamos a cambiar en dos. Entonces voy a salir al vacío público. Voy a llamar a esto un punto. Nuevamente. Echo de menos voy a manejar
toda la otra lógica excepto establecer la
posición y establecer el más o menos ir por
aquí, vamos a cambiar eso. Y ahora lo va a
hacer es cuando
moramos, vamos
a volver al principio, pero no vamos
a poner nada más. Entonces vamos a
cambiar nuestro botón para llamar a este vacío en su lugar. Ve aquí a mi botón, UI, abajo al botón de reproducción. Y voy a
seguir adelante y cambiar eso a Gerente
Estatal juego de acciones. Eso es bastante guay. Ahora, si voy adelante
y juego mi juego, puedo hacer click, iniciar el juego. Podría morir. Y luego hay un
retraso y vuelvo. Pero no necesito
mostrarme todavía tampoco. Así que volvamos a nuestro código. Vamos a cambiar
esa lógica de menú. En lugar de cambiar el
menú tan pronto como moramos, en realidad
voy a
configurarlo cuando respondamos, lo cual es bonito, bastante cool. Ahora ya verás cómo funciona
esto en juego. De vuelta a mi juego.
Haga clic aquí. Podemos ver que empezamos con
el menú click Play. Podemos jugar a lo largo de una alta velocidad, obviamente salvados como lo
hicimos hace un tiempo. Y respondemos como de
vuelta estamos recibiendo, lo cual es realmente, realmente genial. Lo último que
tenemos que cambiar, tenemos que asegurarnos de que estos
botones en realidad en realidad web también. Eso también va
a ser bastante sencillo. Sólo vamos a
entrar en nuestro manuscrito de nuevo. Y vamos a hacer una nueva
voz y lo vamos a llamar cambiar audiencia, vacío público. Y vamos a llamar a
este cambio de audio. El que
se va a cambiar de audio. El otro
va a estar frío. Cambiar música. Eso básicamente va a decir si queremos
cambiar la música. No vamos a hacer
esto en carrozas, el público brillante Música. Y 48. Entonces todo
lo que vamos a hacer aquí es que los vamos a poner, cambiarlos para aprender
música iguala no a música. Eso básicamente sólo
significa que si es cierto, lo hace falso, es
falso, lo hace verdad. Obviamente quiero
poner eso por ahí. Voy a poner lo
mismo por aquí para audio es igual a no auditor. Entonces, por último, tenemos que hacer
es necesario tener un acceso a nuestros sistemas que
realmente puedan reproducir la magia de la música. Sólo voy a
seguir adelante y crear un gestor de música pública. Llama a esta música gestionar. Entonces voy a ir a la
música manejar dot, y luego vamos a encontrar
la fuente de audio que quiero. Entonces si vamos aquí, podemos ver que en realidad
fue llamado tan nefasto como saltar a la música. Cuando en realidad para el
audio, me voy a poner como Guy como saltar el mutante
para ser lo que sea el audio es. Algo, el Dr. Newton iguala audio. Y voy a copiar
este código exacto y poner eso aquí abajo, excepto esta vez como salto. Entonces voy a hacer algo muy
parecido por ahí. Voy a bajar aquí
y luego un
punto de música set como la música es igual y luego cambiarlo
a música de allá. Estas menos cinco líneas de
código en realidad nos van a hacer tener un sistema
muy cool que puede alternar
entre audio silenciado y no silenciado.
Volveremos por aquí. Tienes que hacer un
poco de asignación primero. Así que vamos a
asegurarnos de que soy
mánager de música esté vinculada ahí. Y ve a nuestra cosa del sonido y asegúrate de que tenga
un evento onclick. Arrastrando la interfaz de usuario, haga clic en
ninguna función haga clic en el
menú y luego seleccione el aquí que
dice Cambiar audio. Ve aquí y haz
exactamente lo mismo con la música, arrastrando tu menú de interfaz de usuario y
esta vez cambia de música. Ahora antes de jugar,
voy a seguir adelante y
asegurarme de que
en realidad he dejado de silenciar todas las cosas que silencié antes para que pueda
mostrártelo porque no
tengo que estar jugando
con nuestro juego a poquito. Así que sigamos adelante y dejemos
de silenciar todo. Y te mostraré
exactamente cómo funciona esto. Podemos ver que podemos
silenciar el audio con facilidad y sin hacer clic seguir adelante. Simplemente hacemos lo mismo
con nuestros sonidos. Si voy aquí, puedo
ver que mi reproducción un sonido ha sido realmente silenciado. Si deshago clic que no lo tiene. Para que pueda tocar con
solo sonido y música. Muy, muy cool. Ahora bien, esto es obviamente
lo básico de nuestro sistema de menús. Creo que hemos dado
algunos saltos bastante grandes en nuestro juego, y es
lo último grande, grande que necesitamos
agregar el próximo episodio podemos hacer monetización y luego se acaba de arreglar
ahora juego de pelota y estamos en realidad listo para
ponerlo en el móvil. Tan gran trabajo a
todos. Espero que disfruten lo absoluto y te
veré en la siguiente.
20. Monetizar nuestro juego: Oye ahí, y bienvenidos de
nuevo a la unidad. Ahora esta es la característica principal
perdida. Vamos a sumar dos de nuevo,
este es el último paso. Entonces de lo que voy a hablar de
la característica completamente nueva estamos agregando y eso
es la monetización. Después de eso, voy a
juego móvil está más o menos hecho. Sólo tenemos que obviamente
ponerlo en móvil y construirlo. Y podemos ver que todo va a funcionar perfectamente bien, lo
cual es realmente, realmente grandes mutantes,
has recorrido un camino
muy largo en tu viaje de desarrollo de
juegos móviles. Tan gran trabajo que has
hecho sorprendentemente. Ahora, los juegos móviles siempre
usan anuncios para monetizar. Eso es un poco exagerado, pero prácticamente cada juego
móvil por ahí usa anuncios de algún tipo porque es una manera realmente genial de
monetizar tus juegos. Y agregarlos
no es súper fácil, pero en realidad no es tan
difícil como se podría pensar gracias al paquete add de Unity. Ahora, vamos a pasar por
este proceso paso a paso. Asegúrate de seguir todo lo
que hago porque hacer pequeños cambios puede resultar en pequeñas cosas
raras
que tienes que hacer. Así que solo asegúrate de
seguir todo exactamente. Detente, pasa a guiones
y vas
a querer importar este script de Ad
Manager. Ahora si vas a los
recursos de este video, encontrarás que hay un guión de Ad Manager por ahí. Y puedes seguir adelante
y en realidad descargar eso y eso
te dará el script de Gestor de anuncios. El motivo por el que no
lo incluí en los activos del curso es porque
te va a dar errores en
cuanto lo descargues. Va a decir que
el anuncio no existe. Eso está completamente bien. Eso es solo porque
aún no hemos
habilitado anuncios en nuestro juego por hacerlo una vez que hayas instalado eso y probablemente
tengas tus dos horas ahí, ve a Ventana, selecciona General,
y selecciona servicios. Una vez que hayas hecho eso,
deberías ver esta cosa. Tardará un tiempo
cargarse y luego
obtendrá estas listas de servicios. Todos ellos deberían
estar fuera por ahora. Así que ve a anuncios y es posible que no
te lleven a
esta pantalla de inmediato. Ahora la razón por la que me
llevaron a esto es porque obviamente ya estoy firmado en Unity porque antes
he usado Unity. Pero si esta fue la primera UTI, Portugal, hiciste
todo este juego móvil, posible
que no lo firmes, por lo que te pedirá que firmes
tu cuenta unitaria. Ahora, asumo que sí tienes una cuenta de Unity porque
instalaste Unity Hub y
creo que tienes que tener una cuenta de
Unity para crear una. Pero si no lo hiciste, solo adelante y
crea uno,
habrá un proceso realmente sencillo. Obviamente puedes hacerlo en unity.com y simplemente
hacer una cuenta. Entonces, una vez que hayas creado
tu cuenta Unity
o tu Unity Hub o
cuenta, lo que necesites,
entonces solo tienes que seguir adelante
y
te va a pedir que creas un videojuego. Así que vas a tener que
elegir una organización. Tal vez te estés preguntando
qué es esto. Si subes aquí al
tablero, hace clic aquí. Te va a llevar
a tu tablero de Unity. Y esto realmente
va a ser donde se
puede controlar todo tipo
de cosas como esa. Obviamente, aún no he
firmado, pero si lo asignaría, entonces me llevará a una
página donde pueda crear organizaciones
y así. Así que adelante y haz una organización si aún no lo
has hecho, y entonces vas a tener reiniciándote en ti
vas a recargar
el deber y la organización
estará ahí como uno de los desplegable opciones si tienes que
elegir eso para
seleccionar tu juego. Si no te has topado con alguno de estos problemas, no te preocupes. Sólo digo en
caso de que alguien lo haga. Y entonces, por último, tienes que
decir si
vas a estar apuntando a
personas menores de 13 años o más, y eso es así que
eres compatible con la coppa? Adelante y haz clic en Sí, solo por una buena medida. Obviamente, no sabemos
lo suficiente sobre los derechos de autor todavía para estar haciendo plenamente esa suposición. Si estás planeando
lanzar un juego móvil, te
recomiendo que hagas algunas investigaciones al
respecto porque esa es una ley muy importante que tienes que
seguir a la hora de hacer juegos móviles. Por lo que obviamente la Ley de Protección de la
Privacidad en Línea
Infantil . Pero si no lo estás, si solo estás
tratando de terminar este curso y en contra de eso más tarde, solo tienes que seguir adelante y
haz clic en sí o no. Realmente no importa, no
es liberarse ni juego por el momento. Y luego te
llevarán a esta pantalla. Ahora, antes que nada, clic en los anuncios y
eso va a tomar un tiempo cargarse y
se va a congelar. Tal vez va a cargar tus paquetes resueltos
cosa, compilar
scripts C-sharp, y después un
tiempo debería
habilitar todo. Entonces ADS está encendido. Ahí estás. Ahora podemos ver que tenemos anuncios en, dice la versión actual 3.7.5. Ahora esto realmente se
instala automáticamente en Unity. No estoy del todo seguro por qué el
mío se instaló automáticamente, pero una
vez anterior lo estaba haciendo. No lo hizo, así que no estoy del
todo seguro de cómo funciona. Te mostraré cómo
instalarlo en caso de que el tuyo no lo haya hecho. Pero si siempre se ha instalado a la conversión y hay
una versión posterior disponible, asegúrate de descargar
la versión recomendada, no necesariamente la
última versión porque encontré la última versión
a veces me da problemas. Entonces si quiero que
mi juego esté listo para anuncios, necesito descargar este
paquete por aquí. Como dije,
ya lo tengo. Pero ve aquí a
Window Package Manager si no lo hace, está justo ahí. Y luego encuentra este
anuncio uno. Y si
no lo has instalado, da clic en Instalar obviamente en lo alto, así que no lo voy a quitar. Y también verás que
mis flechas se han ido, lo que significa que mis anuncios están
funcionando perfectamente. Lo último que quiero hacer es
hacer clic aquí en anuncios y voy a
habilitar el modo de prueba porque quiero
asegurarme de que no estoy usando anuncios reales si estás
probando tu juego o tu, la única cosa que
En realidad no se te permite usar anuncios reales, tienes que usar anuncios de prueba, que es exactamente lo que estoy haciendo. Entonces voy a seguir adelante y
voy a abrir el encargado de anuncios. Y podemos ver que todas
estas áreas
en realidad deberían desaparecer tan pronto como
se refresca si no lo hacen, a veces Unity sí
tiene problemas con él, como por ejemplo, podría
no desaparecer. Si la cierro y reinicié,
podrían desaparecer. Podrían no usar
estos poco raros. Y ojalá para cuando estés usando Unity,
habrán parcheado esto. Ya puedes ver que mis flechas
parecen haberse ido. Ok, ahora eso pasó. Voy a ir aquí y
en realidad sólo voy a
ir a inquilino de AD a menudo encendido. Ahora, es importante
tener en cuenta que estas flechas no son como resultado de nada
que estés haciendo mal. Esto es unidad y tienen
este problema realmente molesto. Así que sólo aguanta conmigo aquí. Si te pasa a
ti, solo haz lo que estoy haciendo, ya sea apaga y
enciende. Ya veremos si eso
funciona. Podemos ver de mí que de hecho tiene trabajo. Por lo que ahora ha funcionado solo
porque lo apagé y encendí. Se puede ver obviamente
que no he hecho nada malo. No hay nada
malo en el guión. Solo unities emiten si eso no
funciona para ti, también
puedes intentar
desinstalar y volver a instalar en el paquete
yendo aquí al Administrador de paquetes, luego yendo allí y
quitándolo e instalándolo. Así que sí. Ojalá ahora debas estar
en un punto donde tu juego tenga el guión y ya no tenga errores si lo tienes, genial. Ahora lo último que vamos a
hacer es que solo vamos a mostrar un anuncio
cada vez que moramos. Y eso es
realmente fácil de hacer. Ahora antes de cambiar eso,
en realidad me acaba de dar cuenta de que mi nombre de clase no es el
mismo que el nombre de mi archivo, que es un área de la que
hablamos antes. Así que sigamos adelante y arreglemos eso. De lo contrario, eso
nos va a dar áreas en el futuro. Asegúrate de que esto sea lo mismo, ambos han subido este curso, debes estar actualizado, así que no te preocupes, pero si no lo es, solo asegúrate de tener
eso y eso es lo cada guión voy a ir
más para quedarse gerente y vamos a crear cualquier
nuevo gerente de anuncios públicos. Lo llamaremos add. Entonces por aquí cuando moramos
encima de todas estas cosas, vamos a llamar a
nuestra respuesta nula. Y en cuanto
respondamos por debajo este responder vacío
dentro de la corrutina, vas a ir a añadir puntos,
mostrar añadir paréntesis. Esto significa básicamente que
cada vez que
morimos, vamos a ver un anuncio corto. Ahora veamos si este era
nuestro juego móvil real. Eso sería un poco molesto
y no creo que sea justo tener a todos los usuarios ver
uno cada vez. Así que en su lugar vamos a
crear una variable entera. Nos vamos a hacer público
y llamarlo añadir peso. En lugar de decir show ad, vamos a decir que agregar peso
es igual a peso más uno. Y eso es básicamente una forma de decir, Ok, aumentado en uno. También podríamos escribir esto como
añadir peso más es igual a uno. Eso significa exactamente lo mismo. Y entonces vamos a decir que añadir peso es mayor
o igual a tres. Entonces quiero restablecer
adecuado por lo que es 0. Y quiero seguir
adelante y mostrar mi anuncio. No iba a hacer
esto va a significar
cada vez que morimos,
vamos a aumentar basado en la aplicación. Así que cada tercer partido vamos a mostrar a un
irlandés un poco más agradable. Si seguimos adelante y
vamos a abrir Unity, vamos a vincular
esto y vamos a probar si funciona. Google aquí a jugador, encontrará nuestro
Gerente Estatal ahí. Asegúrate de hacer clic de
nuevo para inspeccionarlo, pero en realidad no hemos
agregado nuestros anuncios a nuestro juego. También necesitamos
crear un nuevo objeto. Vamos a crear objeto,
llamar al administrador de anuncios. Gerente de música, simplemente centrado arrastrando tu
ventaja por allí y luego ve
reproductor de audio y asegúrate de
arrastrar eso a tu
manuscrito estatal así. Si todo debería
funcionar, deberíamos
poder rastrear sumar
peso por aquí. Si seguimos adelante y golpeamos Play, podemos ver solo ir
a silenciar eso por ahora. Y luego por ahí, si voy
adelante y golpeo juego, muero. Podría añadir peso
está bien ahora uno. Adelante y muere otra vez. Mi agregado es igual a dos. Y si lo hago por tercera vez, lo que debería pasar
es que en realidad estoy mostrando aquí vamos, perfecto. Esto es unities
nos decían que nuestros anuncios están funcionando. Si ahora quisiéramos construir
este juego y ejecutarlo, en realidad
tendríamos anuncios de
trabajo, lo cual es realmente, realmente genial, gran
trabajo alrededor eso significa
que al final la adición a nuestro
juego está realmente terminada. Este es nuestro juego
móvil terminado. Es increíblemente impresionante
lo mucho que hemos podido
hacer en un lapso tan corto
de tiempo y es genial, Gran trabajo. Eso es increíble. Y lo has hecho sorprendentemente
en este curso, bien hecho a todos. Y después de completar el video
final tras esto, habrás creado tu
primer juego móvil en Unity y C sharp. Trabajo tan increíble.
21. Acabado: Oye ahí y bienvenidos de vuelta
a la unidad por última vez. Ahora te mereces una ronda
de aplausos porque has creado un
increíble juego móvil. Y si es tu
primer juego móvil o uno de tus primeros
movimientos nuestros juegos, has hecho un
trabajo increíble, un gran trabajo. Casi terminamos
con un juego móvil. Y hay
algunas cosas que significan
cambiar antes de construirla. Y luego
te voy a mostrar cómo construirlo y probarlo en un emulador. O si tienes un
teléfono Android o un teléfono Android, raíz
cúbica del IRS, puedes
probar en uno de sus teléfonos. Tengo un teléfono iOS, pero
voy a estar mostrando cómo
construir con un emulador. Pero antes de entrar en eso, realidad
necesito
cambiar una cosa que hicimos los escribimos
consiguiendo en el curso. Si abres tu guión de
movimiento, recuerdas que estábamos
usando teclados. Y la razón por la que estábamos usando atajos de
teclado
para nuestro movimiento, o teclas del teclado más bien fue porque queríamos
probar y toda la computadora. Así que ahora vamos a seguir adelante y cambiar eso porque
queremos construirlo. Así que elimine esto y escriba input dot touch
count mayor que 0. Y eso va a
revisar cada fotograma que estabas sosteniendo. Si estoy poniendo a tierra, si
tienes saltos para que puedas aguantar y continuar con el
trabajo, lo cual es realmente genial. Ahora obviamente no
vamos a poder probar esto porque no podemos saltar. No podemos tocar nuestro monitor
porque estamos en una computadora. Y obviamente nuestros elementos de interfaz realmente funcionan
automáticamente con la unidad. Luego ve a la parte superior aquí, haz clic en Configuración de
compilación y
asegúrate de que tienes tu
plataforma correcta. Voy a construir para APK. No voy a comprobar eso. Y hay algunos
ajustes por aquí. Puedes establecer todo tipo de cosas. Puedes establecer tu resolución lo que quieras
tener paisaje, derecha o izquierda, todo
tipo de cosas. Voy a dejar esos ahora. En realidad voy a
asegurarme de que sólo pueda ir a paisaje porque no
quiero que en el juego sea retrato. La imagen de splash que
puedes agregar si quieres. Eso es como una
imagen al principio. Otros ajustes que
voy a dejar ahora hay algunos ajustes de
publicación, pero esto realmente podemos salir. Sólo tenemos que ir
aquí, necesitamos hacer clic en Construir y tenemos que seguir adelante. Aquí es donde mi proyecto
está almacenado en mi computadora. Voy a seguir adelante y ahorrar y va a dejar de construir. Ahora ese es un proceso bastante
largo. Entonces dale un minuto. Una vez terminado de construir, tu juego será exportado. Si te has topado algún error
al intentar construir tu juego, veces Unity sí tiene errores que podrían
no ser tu culpa, tal vez con el módulo que
instalaste o algo así, simplemente escribirlos
directamente en Google. Y te prometo que lo
más probable es que haya alguien ahí que haya tenido exactamente
el mismo tema tienes y lo arregló a menos que innumerables veces y la mayoría
de las veces ha funcionado. Así que solo prueba
eso que debería arreglar cualquier problema que tengas que no
he encontrado. Una vez que haya terminado de construir, estarás todo listo para
probar tu juego móvil. Yo ambos Androides, estoy probando en el emulador de
Android no jugador. Por supuesto, puedes usar un teléfono Android o iOS si no lo hiciste, y si votas por el IRS, creo que puedes descargar
una extensión de Mac en un MacBook para instalar y probar juegos
móviles desde allí. Ahora, antes de probar, hay algunas cosas
que hay que notar. En primer lugar, dependiendo de
qué plataforma utilices, si quieres probar
tu juego como yo, tienes que
asegurarte de que has establecido tu ID de juego al mismo que
ganarás fue registrado como, que soy va a
mostrarte cómo hacer ahora, todos los anuncios no eran funcionados. Así que obviamente, una vez que pongas tu juego antes de ir a ganar, preferentemente ve
aquí a servicios, haz clic en anuncios y asegúrate de que has establecido cualquier plataforma, ya sea Android o iOS, este ID, asegúrate de que lo hayas
configurado aquí para el
ID del juego de cadena en el Add Magic, ve a abrir el administrador de anuncios y
asegúrate de
configurarlo para que tu cadena sea
esa cadena de números. Una vez que hayas hecho eso, el anuncio debería funcionar perfectamente
en tu juego. La segunda cosa a tener en cuenta
con resoluciones, ahora, ganarás podría funcionar
perfectamente para tu dispositivo, pero puede haber algunas cosas que están ligeramente
fuera de tu resolución. Si este es el
caso, simplemente cambie resolución de
su pantalla en el Editor de Unity y
mueva algunas cosas. Cuando estaba probando
este elemento del juego mueve algunas cosas a la derecha, pero en general todo funcionó perfectamente y mi resolución
estaba bastante bien. Adelante y arrastra eso
al jugador NOX. Se puede ver que va a
instalar mi juego para mí. Aprendiendo. Y dice Instalar Completo. Entonces puedo cargar mi juego. Volúmenes han estado aquí una cosa. Podemos ver que está funcionando
bien, eso es genial. Si voy adelante y pego Play, puedo saltar
igual que lo he estado. Y puedo aguantar, saltó, y voy a seguir saltando,
que es realmente, realmente genial efecto morir. Tiene esa profundidad con la que
empecé. Puedo contar la música
si quería que todos
apagaran el sonido
y seguir moviéndose. Siempre hablo y sigo adelante. Y si muero tres veces, voy a mostrar en un segundo,
veré un acto de prueba de unidad, que es realmente, realmente genial. Puedo seguir adelante y
saltarme eso una vez que se hace y cerrarlo y podemos
ver que estoy de vuelta a mi juego, que es realmente, realmente genial. Eso nos lleva al
final de este curso. Has creado tu
primer juego móvil usando Unity y C-sharp. Has hecho un
trabajo increíble y te das una palmadita en la espalda y haciéndolo todo el camino hasta el
final del curso, has aprendido
habilidades invaluables de unidad y c-sharp, y ojalá hayas adquirido conocimientos suficientes para empezar a hacer tus propios juegos móviles ahora o incluso mejorar
el que hemos hecho. Soy conocido por uno.
Podemos usarlo en un icono para que solo
puedas entrar en la configuración de tu
juego por aquí, Configuración compilación de
archivos,
ve a la configuración del jugador. Y por aquí puedes seleccionar un nuevo ícono que no eras. Obviamente hay
diferentes, iconos adaptativos
Legacy Round, puedes elegir los de allí. Pero obviamente, el editor de
Unity
ahora está esperanzando que se vea
mucho más familiar. Y el mundo del
desarrollo de juegos es ahora tu ostra, especialmente el desarrollo de
juegos móviles. Gran trabajo a todos. Quiero agradecerles
muchísimas por tomar mi rumbo. Ha sido un placer llegar a enseñarte el desarrollo de
juegos móviles. Y ojalá hayas pasado un rato
divertido y aprendido mucho. Usted sí, por supuesto,
tiene permiso para usar cualquiera de los recursos en este curso y cualquier cosa que
construimos para moldear en
su propio juego móvil. Si quieres mejorar esto y lanzado como tu
propio juego móvil, puedes hacer exactamente eso. Tan gran trabajo a todos. Ha sido una experiencia increíble y espero que haya
sido para ti también. Gracias de nuevo por inscribirse.