Bienvenido de nuevo Mis desarrolladores de juegos favoritos
al último video y este
vamos a arreglar todos estos pequeños detalles relacionados con la pantalla de
la interfaz de usuario,
relacionados con el Bitcoin viniendo de nivel a
nivel y todo de las otras cosas divertidas.
Entonces, no perdamos más tiempo y empecemos.
Ah, está bien, así que ahora tenemos que arreglar
el problema de que nuestros enemigos no encuentren al jugador.
También queremos asegurarnos de que
tengamos al gestor de juegos como
patrón singleton porque obviamente queremos mantener
nuestros bitcoins yendo de nivel a nivel.
Entonces para eso, voy a emitir un reto,
y tu reto es encontrar al
jugador y encontrarlo en.
Por lo que antes que nada,
asegúrate de que los enemigos sigan
buscando al jugador hasta que los encontremos.
Por lo que esto será necesario ser un bucle while
dentro de la actualización y
el controlador enemigo. Ese es un él pequeño.
Queremos mantener nuestros Bitcoins de escena en escena.
Así que haz del manager del juego
un patrón de singleton igual que hicimos con la capa.
Asegúrate de hacer lo mismo para el gestor de juegos.
¿ Aparece en la jerarquía y el residente destruye?
Así que recuerda cuando hicimos que la capa de aplicaciones Aidan destruya,
apareció en la jerarquía bajo una cierta pestaña,
que se hace onDestroy.
Aparecerá también el gerente del juego?
Entonces pruébalo porque necesitamos asegurarnos de que
el manager del juego no sea hijo de los gerentes.
Por lo que la única manera de asegurarse de que
no sea destruido es asegurarse
de que no sea hijo de todo el juego de
managers objetos tan bien que la información.
Pausa el video ahora mismo y ve a hacerlo solo.
Oh, bien, bienvenido de nuevo.
Entonces lo primero primero
que vamos a entrar al controlador enemigo.
Desplazemos hacia arriba para actualizar y una actualización aquí.
Voy a comprobar que mientras
el jugador a perseguir es igual a nulo,
vamos a seguir adelante y conseguir que el jugador persiga
o establezca dipolar para perseguir para ser encontrar objetos de tipo.
Objeto cinco, perdón.
Y va a ser el controlador del jugador.
Y va a ser
v dot transform porque declarado a perseguir,
como recordamos, es un transporte.
Por lo que accedemos a la transformación después de refinar
el objeto que tiene el controlador del jugador sobre él.
Entonces esto debería funcionar,
pero mientras estemos aquí,
vamos al dónde está el manager del juego?
Desplácese hacia arriba por la instancia.
Y aquí dentro voy a encontrar al controlador de jugador.
Y juega ahora, vale,
Así que controlador de jugador, está justo aquí.
Voy a copiar
exacto mismo código y
pegarlo aquí y eliminar esta instancia.
Guarde eso. Por lo que ahora tenemos un patrón de singleton.
Verificamos si hay una instancia, la destruimos.
Si la instancia es diferente a nula,
destruimos y establecemos una nueva instancia.
Ahorramos todo eso.
Volvamos a nuestro juego
y veamos qué tenemos que hacer aquí dentro.
Entonces lo primero que tenemos que hacer es
abrir aquí al gestor de juegos,
y tenemos que sacar al gerente de juego de aquí.
No, no me va a permitir que veamos en el
prefabricado si ya tengo a los gestores de ganancia.
Entonces Manager, el gestor de juegos.
Entonces voy a abrir los gerentes
y voy a quitar al manager del juego.
Por lo que esto eliminará al gestor de juegos
de todas las demás escenas.
Y voy a asegurarme de que sólo tengo
al gerente de juego aquí.
Entonces ningún otro directivo,
uno, lo siento por eso.
Necesitamos al gestor de juegos sólo en la escena.
Entonces ahora tenemos al gestor de juegos,
tenemos 0 pero monedas.
Guardemos todo eso.
Haz esto solo un poco más grande.
Vamos a ejecutarlo de nuevo.
Y veamos qué pasa.
Entonces recogemos el arma,
se convierte en monedas de un poco,
nos golpean una vez.
Vayamos al siguiente nivel.
A ver, vamos al siguiente nivel.
Y ahí vamos, Estamos en el nuevo nivel y podemos
ver que por alguna razón,
¿tenemos a los enemigos siguiendo?
No, no están siguiendo.
Algo anda mal.
Y como puedes ver, obviamente no se han actualizado los bitcoins
y la salud.
Y eso es porque si miramos al jugador,
si miramos al no destruir al gestor del juego,
los Bitcoins tampoco han sido.
Entonces si miramos al jugador,
notarás que su salud es de 490,
pero no se está enviando aquí mismo.
¿ Por qué? Porque sólo actualizamos,
déjame ver, y el gestor de salud del jugador,
solo actualizamos la salud del jugador una vez
que nos golpean y no cuando realmente empezamos.
Entonces tendremos que arreglar eso también.
Pero antes de que hagamos eso,
hay algo que no está
del todo bien con el MS hacia.
Entonces voy a pausar el juego aquí mismo
y veamos cuál es el problema.
Para que veas que cada uno de
nuestros enemigos no está siendo capaz de encontrarnos.
Entonces voy a hacer doble clic.
Y el problema es con el jugador Chase justo aquí.
Entonces veamos qué vamos a hacer al respecto.
Ah, vale, así que pasé por
un par de cosas y finalmente encontré la solución.
Entonces el problema aquí dentro fue,
y es muy simple,
solo tenemos que mover
esto mientras que bucle aquí arriba sobre todo esto.
Y tal vez quisiéramos extraer
esto en algún tipo de método.
Entonces voy a llamar a este método
encontrar jugador o asegurarme de que tengamos al jugador.
Entonces, ¿por qué lo movemos aquí arriba?
Pues bien, porque si tratamos de llamar al
movimiento hacia, guarde eso.
Entonces, ¿cuál es todo el problema en todo el problema y
todo lo que está causando esto es cuando vamos
a un nuevo nivel antes de que la capa,
que es la que no se destruye,
llegue al siguiente nivel.
Los enemigos ya tienen un objetivo,
que fue el jugador anterior.
Entonces una vez que lo destruimos,
ya no podemos encontrarlo.
Entonces si intentamos eso,
digamos que los queríamos al nuevo nivel,
tenemos a todos los jugadores persecución fijados
aquí mismo en el inicio y luego lo destruimos.
Y luego tratamos de perseguir al
jugador o avanzar hacia el jugador,
y de ahí venía el error.
Entonces aquí mismo estamos tratando de perseguir al jugador.
Y una vez que hay un error aquí,
nada bajo esto funciona.
detiene la actualización, todo se detiene.
Entonces por eso necesitamos estar teniendo al jugador hallador.
Lo primero que hacemos una actualización antes de seguir adelante,
mientras que quizá sólo necesitemos
la declaración if aquí, creo,
pero vamos a mantenerla también,
acaso toma un poco de cinco.
Entonces con eso fuera del camino,
si ahora corremos el juego,
deberíamos ver eso cuando vayamos al siguiente nivel.
Ahí vamos, no tenemos errores.
Abrimos esto y ahí vamos.
Los cobardes enemigos están
huyendo y están disparando contra ellos.
Entonces lo que eso fuera del camino,
lo siguiente que tenemos que hacer es obviamente que
necesitamos actualizar la interfaz de usuario del jugador.
Entonces voy a entrar en el Administrador de UI.
Paramos el juego. Sí, lo hicimos.
De vuelta en el Administrador de UI.
Aquí voy a crear un método que va a ser
la interfaz de usuario de la capa de actualización del vacío público.
Y vamos a hacer un par de cosas aquí dentro.
Entonces lo primero que vamos a hacer es que vamos
a crear un manejador de salud de jugador.
Salud de capa profunda coloreada,
y va a ser igual a nula.
Y verás por qué en tan solo un poco,
porque vamos a crear
un loop while que comprobará la salud del jugador.
Y si bien es nula,
vamos a seguir buscando
la salud del jugador sea igual para encontrar objetos de tipo.
Y va a ser el manejador de la salud de la capa.
Y una vez que encontremos eso,
podemos salir del bucle while.
Y luego aquí dentro vamos a
seguir adelante y en primer lugar
conseguir el valor máximo del slider de salud dot.
Y va a ser igual al punto de salud del jugador
obtener valor máximo.
Por lo que obviamente necesitamos crear algún tipo de forma de acceder al
máximo fuera en el manejador de salud del jugador.
¿ Qué tenemos cualquier año, Ok,
entonces son de campo serializado.
Vamos a seguir adelante y crear un público y
obtener la salud de capa max.
Y sólo vamos a devolver V-max.
No lo han hecho.
Ya tenemos uno de esos.
No, no lo hacemos.
Sigamos adelante y creemos la buena capa,
salud actual también, siempre y cuando estemos aquí.
Entonces la salud actual y ¿qué más necesitamos de aquí?
Podríamos necesitar el,
Nope, creo que eso es todo lo que necesitamos.
Por lo que ahora podemos conseguir la máxima salud.
Y luego tendremos que establecer
el valor de punto del deslizador de salud para que sea igual al
punto de salud de la capa obtener la salud actual. Guarde eso.
¿ Qué más necesitamos hacer?
También necesitamos encontrar la manera de actualizar nuestro texto.
Entonces voy a decir el, ¿cómo se llamaba?
El texto de Salud, ¿se llamaba el paso de tecnología de la salud?
Ahí vamos, y es público también.
Genial.
Así que desplázate aquí abajo.
Por lo que el texto de punto flexionado de salud,
salud será igual al punto de salud del jugador ponerse actual.
El estado de salud actual.
Y es más la rebanada.
Y fue la máxima salud.
Así salud del jugador punto GetMax auto.
Ahí vamos. Entonces todo está listo,
pero voy a hacer algo aquí dentro.
Y así es, un registro de puntos de depuración.
Y yo sólo quiero hacer un seguimiento de los mismos actos Salud.
Y déjame sólo conseguir este.
Y esto tendrá sentido en tan solo un poco.
Así que molesto a este de aquí.
Y ya verás por qué en tan solo un poco.
Entonces voy a guardar todo eso.
Voy a volver a Unidad.
Yo voy a correr el juego.
Voy a escoger departamento se convierte en los Bitcoins.
Hazte atropellado.
Por favor, sácalo. De acuerdo, Así que ahí vamos.
Pasa por el mundo,
pasa por el portal, pasa al siguiente nivel,
y puedes ver que aquí está 100,
aunque si presiono sobre la capa, es para 90.
Entonces, ¿cuál crees que es el problema?
Sólo te voy a dar un par
de segundos para pensarlo.
El problema fue y te diré cuál es el problema.
En primer lugar, necesitamos actualizar la salud de los jugadores.
Así que actualiza la salud de la capa o interfaz de usuario del jugador.
Ahora sigamos adelante y probémoslo.
A lo mejor lo viste en el depurador.
Acabo de notar que ni siquiera les llamamos métodos.
Entonces ahí lo tienes. Depurar funciona,
voy a conseguirlo.
Pasa por la larval,
pasa por el portal.
¿ Y cuál es la salud?
Por lo que la salud máxima es de 50 y la salud actual es de 0.
¿ Cuál crees que es el problema?
Bueno, el problema es
justo como dijimos en el video anterior,
ya teníamos un jugador en
la escena y ese jugador fue destruido.
Por lo que una vez que queremos poner este listón de casa y el impuesto,
se están estableciendo en base al viejo jugador.
Entonces para poner al nuevo jugador,
¿qué crees que deberíamos hacer?
Si bien hay muchas soluciones a este problema,
pero encontré que la mejor es tener sólo
una forma sencilla de convertir esto
de una voz pública a un arte público y numerador.
Y entonces vamos a ceder retorno.
Nuevo. Espere cuatro segundos.
Y sólo esperemos 0.1 y
será el momento mientras el,
no lo olvides, tenemos una imagen desmayada
que hemos apagado sólo
por el bien de acelerar el proceso de pruebas.
Entonces ahora lo que sucederá es que esperaremos 0.1
segundos y durante ese tiempo
el jugador mayor será destruido,
se encontrará al nuevo jugador,
e inmediatamente obtendremos nuestra actualización.
Entonces aquí, en lugar de actualizar jugador,
voy a empezar una co-rutina,
que va a ser la actualización de la capa de salud tú.
Yo guardo eso de nuevo en nuestro juego.
Corrimos el juego. Nosotros lo conseguimos.
Salimos, pasamos por éste, y ahí vamos.
Podemos ver que nuestra salud se ha
actualizado y es muy fluida.
Entonces ahí vamos,
Podemos ver que todo está funcionando perfectamente bien.
Y en primer lugar, también tenemos los Bitcoins,
por lo que necesitamos arreglar eso también aquí.
Y lo que también queremos hacer es asegurarnos
de que engendramos en la posición adecuada.
Por lo que actualmente, responde justo al lado del portal,
lo cual no es útil.
Nuestro objetivo es llegar a
ese portal y no sólo engendrar ahí dentro.
Entonces voy a,
antes que nada aquí dentro,
Vamos a ver qué tenemos que hacer.
Entonces tenemos que hacer tenemos el texto Bitcoin,
los efectos BTC. Ahí vamos.
Por lo que BTC texto, el texto es igual a encontrar o no,
tenemos al gestor del juego, el on instancia.
Get, pero continous. Vamos,
creo que éste devuelve
los bitcoins todos saben esto como Bitcoin.
Entonces si voy al gestor de juegos para tener,
conseguir Bitcoin actual, para que pueda
conseguir Bitcoin actual, guarde eso.
Y esto debería estar funcionando excepto porque no es porque no
se puede convertir implícitamente
el tipo y dos cadenas.
Entonces las dos cuerdas,
esto convierte cualquier cosa play string, guarde eso.
Vamos a probar esto un poco del juego.
Y ahora recogemos una moneda y vamos al siguiente nivel.
De acuerdo, entonces ahora deberíamos ver
que tenemos aquí diez, allá vamos.
Lleva tiempo, pero no se notará,
sobre todo una vez que tengamos la imagen del destino,
pero ahora necesitamos engendrar al jugador en un momento determinado.
Entonces voy a entrar en
el nivel manager y voy a
hacer esto en el nivel manager.
Y me voy a desplazar por aquí.
Y voy a crear un nuevo método.
Entonces aquí abajo vamos a crear
un nuevo método el cual es un vacío público y
su capa spot y punto y jugador de entrada en punto,
vamos a conseguir la instancia de punto controlador jugador,
punto no instanciar, punto bailar,
tocar un controlador de bala.
De acuerdo, Entonces instancia de controlador de capas.
Y vamos a usar
la posición de transformación de puntos
y va a ser igual a algún tipo
de punto de desove, la posición.
Y ahora voy a copiar esto y
crear un campo serializado aquí arriba.
De la transformación y va a ser el punto de desove.
Desplácese hacia abajo y vea cómo se ve eso. Sí, ahí vamos.
Entonces lo que pasa aquí es que ponemos al jugador en
el punto desde el inicio.
¿ Por dónde empieza?
Aquí vamos a poner punto de capa.
Ahorramos todo eso.
Y lo que pasa aquí es en cuanto
empieza el manager de nivel,
recuerda que no es un destructor de tonelada,
no es un solo combate en el jugador controlador
punto instancia posición se
pone de inmediato en el punto spot.
Por lo que de vuelta aquí,
ya tenemos estos puntos de palma.
Somos puntos de desove 1.
Entonces voy a crear una nueva aquí y va a
ser capa sobre engendro.
Y dónde está y la escena.
A ver, y va a ser por aquí.
Ahorre que si vamos a otro nivel,
en realidad podemos seguir adelante y anular esto.
Entonces en el manager anula
y puedes elegir ¿qué quieres anular?
Ten en cuenta que no queremos sobrescribir
los puntos de desove porque
para cada nivel
habrá un punto de desove diferente.
Por lo que voy a aplicar anular
el gerente de nivel del encargado prefab,
tal vez también aplicar sobreescribir preferir manager.
Ahí vamos.
Y aquí el jugador engendran puntos.
Sigamos adelante y
también aplicamos el prefabricado a todo el prefiero.
Está bien, genial. Así que asegúrate de no aplicar.
Todo, guarde todo eso.
Y ahora voy a correr el juego.
Voy a entrar a un nuevo nivel.
Y deberíamos. No, no lo hicimos.
Eso es porque nosotros oh, bien.
Está bien. Está bien.
Entonces el problema está aquí y 11 manager,
¿cuál es el problema aquí?
Si nos desplazamos hasta ellos,
generamos punto y el gestor de nivel.
¿ Cuál parece ser el problema?
También, ahí vamos, Está aquí.
Tenemos que configurarlo. Y ahora tenemos que ir a
los directivos de nivel y aplicar los cambios a.
Entonces ahora cuando corremos,
deberíamos ver si vamos al siguiente nivel.
No, sigue sin funcionar.
Entonces, ¿cuál es el problema?
No se ha asignado la variable.
Entonces creo que hay algo que no se establece rápidamente justo aquí.
Por lo que aplica al gestor de nivel prefabricado.
¿ Y cuál más es el problema?
Entonces creo que en el otro nivel,
el punto de desove no se está estableciendo correctamente.
Entonces estoy tratando de aplicar los cambios.
A lo mejor esta vez va a funcionar.
No, todavía no lo hace porque si vamos
al manager de nivel del manager,
punto de engendro jugador en el manager de nivel,
ni siquiera está establecido.
Entonces, ¿qué opinas de un problema aquí dentro es,
creo que cometimos algún tipo de error
porque todo aquí dentro se ha restablecido.
Por lo que se puede ver aquí mismo que estos no se están poniendo.
Entonces voy a aplicar todo por ahora.
Esta no es la mejor idea,
pero no nos preocupemos por eso por ahora.
Voy a ir al siguiente nivel y asegurarme de que
finalmente engendemos en el punto adecuado.
Pero ahora mismo tendremos también desove.
Y aquí, como pueden ver,
pero no queremos eso porque
cada nivel tendrá sus propios enemigos,
tendrá sus propios niveles, lo siento,
olas, etcétera y así sucesivamente.
Pero como puedes ver, todo funciona.
El único problema aún en nuestro juego es
el hecho de que cuando vamos a la puerta,
esto aparece esa primera vez y cuando lo abrimos,
cuando nos vamos,
no va.
Es decir, las palabras no vuelven a aparecer
y la puerta no se cierra de nuevo.
¿ Por qué? Porque en la habitación
que has creado y esto fue un error de mi parte.
Apagamos la puerta.
Entonces apagamos la puerta,
pero la pantalla de texto siempre está en la puerta.
Entonces te voy a dejar esto como un reto final.
Hacer fuera del ámbito de las anotaciones.
Todo lo que necesitas hacer es
quitar este texto que se muestra de
la puerta y ponerlo en el portal justo aquí,
luego moverlo aquí mismo.
Por lo que el Lienzo tendrá que ser golpeado en la puerta,
tendrá que estar en el portal y tendrás que
apagar la puerta en función del texto,
habrá un poco de cambios en el código.
Pero creo que en este punto,
te has convertido en un buen desarrollador de juegos a un,
tan alto nivel con todos los videos largos
y largos que te he enseñado a través.
Espero que hayan disfrutado de este video.
Espero que hayan disfrutado todo este curso.
Espero que hayas aprendido mucho.
Espero que disfruten el viaje y el proceso.
Y espero que no estuvieras demasiado enojada cuando cometí errores.
Espero que te guste
la transparencia que te estoy mostrando.
Y si no lo has hecho ya,
claro, déjame una reseña,
asegúrate de unirte a la discordia
y te veré
quizá no en el siguiente video porque éste,
este es el último.
A lo mejor algún día en el futuro,
seguiremos en contacto.
No se preocupe por eso. Muchísimas gracias por ver.
Adiós.