Bienvenido de nuevo, Mis desarrolladores de juegos favoritos.
Sé que este es un video largo,
pero hacemos muchas cosas.
Aprendemos un montón de pequeños trucos astutos aquí.
Entonces cuando corremos el juego,
notarás que ahora solo tenemos
el pistilo y el
brazo de armas deberíamos la pistola, todo funciona bien.
Tenemos la escopeta en el suelo.
Uw, ¿qué crees que pasará cuando lo recojamos?
Entonces me dirigí lo recojo.
Ahí vamos.
Podemos ver que tengo una escopeta
y podemos ver la bala de esa pistola de tiro.
No podemos apagar nada.
Podemos cambiar entre la pistola y la escopeta,
pero no nos preocupemos por eso.
Todo va a pasar.
Todo se arreglará a su debido tiempo.
Entonces, no perdamos más tiempo con
este gran video largo y vamos a empezar.
Ah, caso.
Por lo que es hora de configurar la forma en que recogemos nuestras armas.
Entonces ahora mismo, la forma en que tenemos nuestras armas es lo suficientemente buena.
Estamos cambiando, estamos haciendo todo,
pero no es así como queremos que funcione nuestro juego.
No queremos simplemente empezar con todos
nuestros botones y simplemente cambiar entre ellos.
Queremos tener algún tipo de mecánica que nos permita
tenerlos o adquirirlos de alguna manera.
Y una de esas cosas es que podemos recoger
nuestras armas en ciertos puntos y el nivel.
Entonces sigamos adelante y hagamos eso.
Lo primero que vamos a hacer
es que vamos a entrar al jugador de la fatalidad.
Vamos a quitar
las armas que no estamos sosteniendo.
Entonces voy a quitar el rifle,
tendrá que abrir el guión.
Así que quita el rifle, quita la pistola,
y vuelve a nuestro juego. Ahí vamos.
Ahora una cosa de la que tenemos que asegurarnos es que también los sacamos
de las armas disponibles aquí mismo.
Entonces voy a quitar estas ranuras vacías,
guardar eso, y vamos a ver qué tenemos aquí dentro.
De acuerdo, así como pueden ver,
esto también es algo que necesitaremos
cambiar y les diré por qué.
Saquemos las cosas del camino.
Por lo que actualmente estamos poniendo
el arma actual en una y luego configurando la interfaz de usuario del arma,
pero uno no está disponible aquí mismo.
Entonces veamos qué pasa cuando ejecutamos nuestro juego.
Deberíamos ver que aquí tenemos una flecha,
y este error es argumento fuera de rango.
Hago doble clic aquí ,
me lleva al arma de ajuste.
Eso significa que el arma actual está fuera
de alcance dentro de las armas disponibles.
Y por supuesto es porque
estamos poniendo la corriente se fue
a una mientras sólo tenemos un arma.
Entonces el único índice al que podemos acceder a un 0.
Podría poner esto a 0 si quisiera.
Pero entonces lo que pasa
es que cada vez que iniciamos el juego,
tenemos, por ejemplo,
la escopeta y el rifle, y el rifle
está encendido mientras
pistola actual es diferente a la que consigues lo que quiero decir.
Entonces el índice estará
fuera de lugar y esto es algo que
no nos ocupamos en el último video.
Entonces te mostraré lo que pasa a pesar
esto tardará un poco de tiempo en entenderlo
, pero sin preocupaciones.
Yo quiero asegurarme de que todo esté
bien entendido y por qué
estamos haciendo todas estas cosas.
Entonces pistola, escopeta, rifle, aplique los cambios.
Por ejemplo, digamos que apago
la pistola y apago el rifle.
Entonces ahora lo que deberíamos tener como la escopeta a medida que empezamos.
Entonces voy a correr esto.
Ahí vamos.
Tenemos el tiroteo de la escopeta,
pero tengo la pistola y la UI.
Si vuelvo a hacer clic,
entonces tengo la escopeta que tengo el rifle.
Entonces, como puedes ver, las cosas son raras al principio.
Entonces en lugar de hacer eso,
lo que vamos a hacer,
vamos a eliminar esto y vamos
a crear un bucle for.
Entonces cuatro y yo igual a 0,
yo es menor que el número de puntos de armas disponibles, contar
porque estamos usando listas y yo plus, plus.
Y aquí dentro voy a comprobar si el arma disponible,
la posición yo punteo GameObject punto activo en la jerarquía,
eso significa que se presentan y realmente hemos
elegido para estar disponibles para el jugador?
Entonces vamos a igualar el arma actual a I.
Y de esa manera todo debería estar funcionando perfectamente bien.
Entonces si vuelvo aquí,
tengo la escopeta.
Yo dirijo el juego.
El arma debe ser correcta aquí mismo.
Ahí vamos, escopeta.
Vamos a probarlo en el rifle.
Entonces apaga esto, ejecuta el juego.
Entonces ahora deberíamos tener el rifle.
Y ahí vamos, todo está funcionando correctamente.
Y finalmente, probamos en
la pistola y quitamos el rifle, corremos eso.
Y deberíamos tener la pistola.
De acuerdo, genial, Así que todo está funcionando bien.
Ahora, me tomé un poco de diversión para hacer esto.
No se preocupe, pero mientras
esto esté fuera del camino porque será
importante cuando realmente empecemos a recoger armas.
Entonces lo primero que necesitamos hacer es crear
el objeto pickup con el que vamos a interactuar.
Y he creado estos tres sprites aquí mismo.
Y la diferencia entre
los sprites regulares y los cañones y
estos es que he añadido un poco de
capa blanca alrededor de la consola.
Podemos verlos en el mundo.
Entonces voy a entrar en los sprites,
haga clic derecho aquí, crear.
No.
Crea una nueva carpeta la cual va a
ser la copia de seguridad de armas.
Golpea Enter, abre esto.
O podríamos haber sumado a las pastillas,
pero no se preocupe por eso.
Tener más carpetas nunca lastimó a nadie.
Entonces como puedes ver, hay
un contorno blanco alrededor de la escopeta.
Entonces si lo agrego aquí,
ponlo en el jugador.
Y yo sólo voy a hacer todos estos
32 y hacerlos apuntar.
Aplicar los cambios.
Ahí vamos. Entonces como puedes ver,
la escopeta tiene este contorno blanco
a su alrededor para que podamos verlo correctamente y trabajar.
No era tan grande de un trato cada vez que estábamos
sosteniendo el arma
porque tenemos al jugador como fondo.
Pero ahora tenemos que asegurarnos de que podamos ver visible y
fácilmente la escopeta o cualquier pistola y arma.
Y si no te gusta, honestamente,
me tomó como, no sé,
una hora hacer esto en Photoshop.
No tengo ni idea de lo bueno o malo que es.
A lo mejor algunos de ustedes se están estremeciendo en el trabajo,
pero en lo personal, fue lo mejor de mí.
Sigamos uno.
Entonces lo que vamos a hacer aquí
es mantener esto como la escopeta.
Vamos a añadir un componente.
Obviamente va a ser el colisionador.
Por lo que un colisionador de caja 2D.
Veamos qué tan grande es eso.
Y tal vez podamos aumentar
un poco el tamaño en la x y la yNo
hay que golpear
el arma por completo trajes para recogerla.
Entonces solo un poquito y tenerlo como gatillo.
lo guardamos. Y lo siguiente que
vamos a hacer obviamente es algún comportamiento.
Entonces voy a entrar en los guiones,
entrar en las pastillas,
hacer clic derecho aquí y crear un nuevo guión C-sharp
cual va a ser el respaldo de armas.
Golpe Entrar armas, recoger,
esperar a que se compile a la camioneta de escopeta.
Y abramos el guión y
veamos qué vamos a hacer aquí.
De acuerdo, entonces lo primero que necesitamos,
ya que en realidad necesitamos saber
qué arma va a ser esta.
Por lo que la escopeta obviamente nos dará la escopeta.
Entonces voy a crear un campo serializado aquí dentro,
que va a ser el sistema de armas de
tipo sistema urbano va a ser
el arma real que vamos a recoger.
Guarda eso.
Ahora, lo siguiente que queremos hacer es
que queremos poder recoger este objeto.
Y antes de que podamos realmente agregar este objeto al jugador,
queremos asegurarnos de que
no tenga ya ese objeto.
Entonces no quiero estar cargando alrededor de 10 escopetas.
Sólo necesito un arma de un solo disparo para estar disponible para mí.
Entonces déjenme primero que nada así abajo.
Vayamos a la prefabricada,
vamos a las armas,
y sumamos aquí la escopeta como arma.
Entonces espero que hayas entendido a lo que me refiero.
No quiero coger una escopeta
mientras ya tengo una escopeta.
Yo quiero recoger una escopeta sólo si no está
siendo retenida en mis armas disponibles.
Y ese es tu reto mirar a
través de las pistolas de capa.
Entonces, antes que nada, necesitas crear un emprendedor
Entra y comprobar si chocamos con un jugador.
Obviamente, no queremos que nuestros esqueletos nos
estén atacando fueron armas de tiro.
A quién entonces necesitarás crear
una variable dentro del método para
seguimiento de si encontramos
el arma o no en el jugador.
Necesitas pasar por todas las armas de capa profunda
corriendo y obviamente comprobar si estamos cargando el arma, has recogido usando el
nombre GAN, así que necesitaremos el nombre
de la pistola y el teléfono para acceder al
nombre de la pistola y para acceder a las armas disponibles,
necesitarás crear un par de métodos extra.
Entonces este es un gran reto,
un reto muy duro,
pero sé que estás a la altura de la tarea.
Tómate tu tiempo, juega,
comete errores, no te preocupes por ello.
Estaré ahí para ayudarte después de que lo hayamos intentado.
Para que no pierdan nada.
Pausa el video ahora mismo y ve a hacer llegar a Alan.
Kay, bienvenido de nuevo.
Entonces lo primero que voy a hacer
es quitar el inicio y actualizar.
Voy a crear el empresario entrar 2D.
Y aquí obviamente comprobamos si la
etiqueta collision.com como el jugador.
Y ahora podemos continuar.
Ahora lo siguiente y algo sobre aquí,
tal vez podríamos haber hecho de inmediato
todas las pastillas tengan una cierta capa y
que solo interactúe con
la capa de jugador que hubiera sido un poco inteligente
y tal vez no tener todas
estas f condiciones cada
vez que queremos usar una camioneta.
Entonces sólo un silencio,
me olvidé de ello.
A lo mejor puedes hacerlo tú mismo.
Con eso dicho, sigamos en el siguiente. ¿Qué queremos?
Bueno, obviamente queremos
esta variable booleana que dirá
esa pistola en jugador.
Y esto se pondrá en falso.
De acuerdo, Ahora lo siguiente que tenemos que hacer es que vamos a necesitar
crear un bucle foreach que verifique.
Y va a estar revisando armas así o armas.
Entonces es el sistema de armas.
El arma a revisar.
¿ Y dónde buscamos estos?
Bueno, estamos buscando
las armas disponibles en el jugador.
En el controlador de jugador,
su gol, lo dice aquí mismo.
Entonces vamos a mirar a través de las armas disponibles,
pero obviamente armas disponibles,
pero obviamente es un campo serializado.
No queremos hacerlo
público y disponible para todos.
Entonces lo que haremos es aquí abajo,
vamos a Crear y
ahí se puede ver el error que hemos cometido.
Vamos a crear
una lista pública de tipo sistema de armas.
Entonces espero que hayas probado esto, discúlpame.
Y lo vamos a llamar el conseguir
armas disponibles
en capa.
Ahí vamos. Ese es un nombre largo.
Y lo que vamos a hacer es simplemente devolver
las armas disponibles. Ahí vamos.
Entonces ahora qué podemos hacer de nuevo aquí,
y porque podemos
acceder inmediatamente a él desde la colisión,
que hemos chocado con el componente Get.
Y como ya sabemos que es el jugador,
podemos acceder al controlador del jugador.
Y desde el controlador de jugador podemos conseguir
las armas disponibles en el jugador.
Genial. Entonces lo que hemos hecho aquí,
hemos creado el gueto armas disponibles
al tener el simple retorno,
que devuelve una lista.
Y debido a que es una lista,
podemos agregarla aquí mismo.
Por lo que estamos revisando las armas para chequear.
Ahora bien, ¿cómo vamos a saber si el arma está ahí?
Lo que haremos es que vamos a crear una condición if.
Y aquí dentro vamos a comprobar si el arma que está
aquí puntean el nombre del arma.
Entonces obviamente si voy al sistema de armas,
si está aquí en alguna parte,
el sistema de armas, tenemos el nombre de las armas,
pero de nuevo, es un campo serializado.
Entonces estas están bien.
Entonces sí tenemos el nombre de las armas get, UI.
Está bien. No se preocupe.
Eso es todo lo que necesitamos.
Sí, Eso es todo lo que necesitamos.
Entonces aquí dentro vamos a revisar
nombre de las armas en las armas o no,
en realidad, no necesitamos esto.
Consigue armas nombre que eres.
Y si es igual al arma
comprobar punto obtener nombre de arma UI.
Entonces tal vez UI no era
el nombre perfecto aquí para el método,
tal vez es mejor simplemente llamarlo el nombre
porque lo estamos usando de una manera diferente.
Podemos hacer doble clic crear nuestro R
y simplemente usar el getWidth y nombre.
Hit Enter. Ahí vamos.
Ahora hemos cambiado esto por todas partes,
incluso en el sistema de armas.
Aquí abajo, se puede ver lo genial que es eso.
Entonces Control, doble o,
o, así si está ahí,
eso significa que el arma ya está
en las armas disponibles.
Entonces vamos a poner el arma en capa a verdad.
Y después de que terminemos de mirar
a través de todas las armas disponibles,
vamos a después de este check-in aquí,
si la pistola V en jugador no es cierta,
por lo que eso significa que sigue siendo falsa.
No tenemos el arma, honesto.
Lo que haremos es que vamos a seguir adelante e instanciar
el arma en el componente de colisión dot get.
Y va a ser el controlador del jugador.
¿ Y por qué estoy haciendo todos estos pasos?
Bueno, porque en realidad quiero hacer esta arma.
Si volvemos aquí, se puede ver que el arma es
en realidad un hijo del brazo de armas.
Por lo que necesitamos hacer podemos
ver aquí mismo que un instanciado,
podemos poner al niño.
Entonces vamos a hacer justamente eso y necesitamos
una referencia a las armas puestas.
Entonces si me desplazo hacia arriba y aquí
se puede ver que sí tenemos un brazo de armas.
Entonces todo lo que necesitamos para hacer un scroll hacia abajo y otra vez,
crear un público. ¿Y qué es?
Es una transformación, creo.
Sí, digamos transformar.
Por lo que necesitaremos crear
una transformación pública y conseguir armamento de armas.
Y simplemente vamos a regresar, devolver las armas.
Son.
Ahí vamos. Entonces ese fue un reto duro,
lo sé, pero espero que al menos
intentes llegar a la mitad.
Entonces consigue armas.
No está apareciendo porque es una transformación pública.
Ponte las armas.
Por lo que jugador controlador punto obtener arma.
Ah, entonces jugador controlador de bala.
De acuerdo, Así que controlador jugador consigue arma arma.
Y ahí vamos, ahorramos eso.
Volvemos a nuestro juego.
Y veamos cómo funciona eso.
Entonces tenemos la histona y
tenemos la escopeta en el suelo.
Recogemos la escopeta,
el arma disponible en ella,
guarde eso, ejecutamos el juego.
Y ahora cuando nos acercamos a la escopeta,
no pasa nada porque si hago doble clic aquí,
podemos ver eso, vale.
Y aparte de eso aquí,
llegamos a revisar.
Está bien. Así que bienvenido de nuevo.
Por alguna razón, no cambié nada.
Acabo de ejecutar el juego ahora y parece que funciona.
Ahí vamos. Se puede ver que hemos
recogido dos escopetas. ¿Por qué es eso?
Bueno, obviamente por los
dos colisionadores que tenemos sobre nosotros.
Y además no destruyas esta escopeta.
Pero como pueden ver, seguimos
levantando la escopeta varias veces,
pesar de que podemos mirar a través de esto y ver
que tenemos la escopeta ya honesta ahora.
Entonces antes de continuar,
lo primero que tenemos que hacer es
crear el booleano privado,
igual que tenemos en la camioneta de salud.
Entonces podemos simplemente copiar esto, pegarlo aquí,
y dijo que la camioneta a
verdad siempre que realmente levantamos el arma.
Por lo que aquí dijo esto de inmediato a cierto.
Y también comprobamos si aún no hemos recogido el arma.
Entonces como saben, esto es porque tenemos
los dos colisionadores sobre nosotros.
Entonces guarda eso de nuevo en nuestro juego.
Veamos cómo funciona eso.
Ahora, ejecutamos el juego.
Tenemos la escopeta. Ah, y también necesitamos
destruir el arma, discúlpeme.
Y después de que sí lo recojamos,
si sí instanciamos el arma,
¿dónde está para cada uno?
Por lo que aquí puedes elegir
si quieres destruirlo en cualquier caso.
Creo que deberíamos destruirlo en todo caso.
Entonces aunque en realidad no lo recojamos,
no hace falta que se quede ahí.
Entonces solo voy a destruir el objeto tan pronto como
capa profunda realmente encabeza ese objeto.
Entonces de vuelta aquí, corre el juego.
Y ahí vamos.
Recogemos el arma,
y ahora tenemos la escopeta y la mano.
Como pueden ver, la escopeta dispara y no podemos
encender y salir las armas
entre la escopeta o la pistola.
¿ Por qué es eso? Bueno, porque
en realidad no hemos agregado la escopeta aquí mismo
a las armas disponibles y eso es
algo que tendremos que arreglar en el próximo video.
Esa es también la razón
por la que vimos aquí mismo que tenemos
múltiples escopetas siendo recogidas
sin que se destruya el arma.
Eso se arreglará en el siguiente video donde realmente empezamos
a sumar el arma recogida
a las armas disponibles.
Entonces dicho eso, espero que lo disfruten.
Asegúrate de comprometer
tus cambios y te veré en el siguiente.