Bien bueno ahora vamos a hablar de comunicación entre scripps.
La comunicación entre scripps es una de las partes más esenciales en el desarrollo de videojuegos.
Prácticamente nunca vas a tener un solo script que lo haga todo sino más bien vas a tener múltiples
clips repartidos a través de juego.
Algunos juegos de estudio o incluso algunos juegos indie tienen cientos o miles de scripts que se comunican
entre ellos para crear cierto tipo de gameplay.
Ahora lo que necesitamos hacer ahora es bueno por lo pronto lo que tenemos es que cuando un Power colisiona
con el jugador es capaz de imprimir el nombre del objeto con el que colisionó pero lo que necesitamos
que haga es básicamente acceder al jugador y después de que el jugador es cambiar el booleano que activa
el disparo triple A verdadero y al final los tenemos que destruir a nosotros mismos.
Y cómo funciona la comunicación entre equipos.
La comunicación entre scripps Funciona a través del uso de un método llamado componente Entonces primero
vamos a consultar la referencia para ver de qué se trata el componente.
Escribimos componentes y buscamos componentes componentes.
Y la descripción dice algo así como regresã el componente del tipo Si el objeto tiene uno adentro y
regresa a un nobol si no lo tiene.
Veamos el ejemplo.
Aquí tienen un ingenio egipcio es simplemente una clase de Unity y la llamaron Jin que es simplemente
un nombre de la variable.
Y luego dice que componen jinchuk.
Y una vez que obtienen ese componente ellos pueden tener acceso a las propiedades de las clases Ginocchio.
Otro ejemplo podría ser no sé si usamos la clase Player's que creamos y creamos una variable que llamemos
por ejemplo.
Y luego podríamos escribir Quiet Component Player entonces luego podríamos decir p punto y tener acceso
a todas las variables y métodos públicos que tenga pleura dentro.
Entonces para hacer esto funcionar hay dos partes necesarias en la comunicación de Skype.
Primero necesitamos algo que maneje que controle el componente.
Bueno eso es lo que vamos a hacer primero en este caso.
Cuál es el componente que necesitamos.
Necesitamos el componente Player.
Entonces primero escribimos Player que es el nombre de nuestra clase y luego necesitamos un nombre de
variable.
Podemos llamarlo por ejemplo player con puras minúsculas.
O podemos llamarla Boop.
En realidad no importa porque sólo el nombre de nuestra variable pero para este caso llamar Player minusculas
y necesitamos asignar el componente Player a esta variable y cómo lo hacemos vamos a ver la referencia.
Vemos que aquí simplemente igualan a la variable el método que Component y en menor y mayor que hay
que escribir el nombre de la clase que en nuestro caso sería Player queremos tener acceso a esa clase
Eclair porque dentro de la clase Player está una variable que se llama contribucion y queremos convertir
queremos que esa variable sea verdadero.
Entonces cómo llegamos a eso.
Primero lo que necesitamos es tener acceso al objeto con el que estamos colisionando el cual está almacenado
en otros y de ahí podemos obtener el componente que necesitamos cuando estamos hablando de comunicación
entre script siempre recuerda que el orden de acceso es jerárquico.
Recuerdo cuando tuvimos acceso a nuestra variable X de nuestra posición de nuestro Transform del jugador.
Se puede tener acceso directamente a ese componente.
No se puede.
Primero tenemos que ir tenemos que pasar a través de la posesión y antes tuvimos que haber pasado por
el Transform y es muy similar a como va a funcionar Component.
En nuestro pávlov primero necesito encontrar mi objeto Blair y luego puedo tener acceso a sus componentes
o a la lista de sus componentes.
Por ejemplo el componente Transform el prendre el player el box de Riet válidos.
Pero es que yo necesito es el componente Player.
Entonces después de mi signo igual yo escribo o que el jugador y puedo poner un punto y lobjet componentes
y entre menor y mayor que escribo el nombre del componente que quiero obtener a que esté dentro del
objeto o que en este caso va a ser Player.
Entonces solo escribo Player y lo terminó con un par de paréntesis y punto y coma.
Ahora tengo acceso a todas las variables y métodos públicos que pudiera tener el objeto Player adentro.
Lo que es muy importante aquí es que la clase Player que estoy declarando aquí sea la misma que la clase
Player que estoy pidiendo dentro de Ket componentes.
Estos dos tipos deben de ser idénticos.
Por ejemplo si en mi declaración tengo un player adentro que componen no puedo tener un tirón.
Tiene que ser Player.
Ahora como ya tengo acceso a mi componente Player vamos a accesar a esa variable que se llama Cancho
para eso escribo Player punto tripulacion y la voy a igualar a Chuck.
Entonces ahora desde nuestro objeto up de nuestra clase acabo de decirle a la variable Cancho que se
haga verdadera.
Ahora mira yo pude tener acceso a esa variable Cancho porque es pública.
Pero qué pasa si yo quiero tener acceso por ejemplo a Faith Cerac puedo hacer eso.
Si regresamos borramos este punto Fibre y nos damos cuenta de que no hay acto completando las variables
no tengo acceso a ella y la razón es que este es una variable privada las variables privadas solamente
se pueden acceder desde el mismo script a diferencia de las variables públicas que sí se pueden acceder
desde otro script.
Ahora regresamos con anticipación y al final simplemete nos destruimos.
Ya habíamos hablado de Destroy entonces escribimos isstey y entre paréntesis Tiz punto que.
Entonces ya tenemos nuestros tres pasos.
Tenemos acceso al jugador luego habilitamos nuestro tripulación nuestros.
Nuestro disparo triple y al final nos destruimos a nosotros mismos.
Parece que todos vamos a salvar esto y vamos a probarlo.
Corremos el juego y cómo lo viste.
El Power bajó se recolectó por el jugador y te puedes dar cuenta aquí en la valla en el componente Player
que se activó.
Vamos a correrlo de nuevo y te das cuenta que es falso y tan pronto como el pavor se recolecta se convierte
en verdadero.
Entonces acabamos de crear nuestro objeto recolectaban superinteresante.
Ahora necesitamos revisar si estamos interactuando con el jugador.
Por qué.
Qué pasa si por ejemplo dos pájaros colisionan entre ellos.
En nuestro Código aún no revisamos que la colisión esté sucediendo con el jugador.
Por ejemplo esta línea de código va a regresar Null si el otro objeto no contiene un componente Play.
Entonces esto nos va a dar un error porque estamos teniendo o queriendo tener acceso a un componente
que no existe.
Y luego estamos tratando de modificar una variable que tampoco va a existir.
Entonces necesitamos agregar eso necesitamos revisar que el objeto con el coleccionamos es el jugador
y cómo lo hacemos por ejemplo aquí estamos obteniendo el nombre de oder.
Podemos utilizar eso para revisar sistemas colisionando con el juego.
Por ejemplo aquí podemos poner un NIF oder spuntone.
Y lo decimos y al igual Player y lo que estamos aquí es revisando si el nombre del Oder es igual a Play.
Entonces podremos mover nuestro código dentro de este y debería de funcionar.
Sin embargo hay un problema con esto porque qué pasa si nosotros decidimos darle otro nombre a nuestro
jugador o si lo tenemos escrito no sé con minúscula.
Es aquí donde los taux las etiquetas se hacen inútiles los tactos permiten identificar a ciertos objetos.
Por ejemplo si tenemos nuestro Player aquí le podemos asignar un pack de Play cuando creemos nuestros
enemigos.
Vamos a ver cómo generar nuevas etiquetas por lo pronto sólo hay que asegurarnos de que nuestro jugador
nuestro Player tenga el tag Player asignado.
Ahora lo que podemos hacer es en el script de pago up simplemente revisar.
Otro punto caja es igual a player y si nuestro jugador tiene asignada la etiqueta Entonces todo este
código se va a ejecutar y si no simplemente lo va a ignorar.
Por ejemplo después nuestro juego cuando agreguemos los enemigos si éste hace colisión con un enemigo
no va a pasar nada.
Y ese es justo el comportamiento que queremos.
Vamos a probarlo de nuevo y veremos que está funcionando correctamente de nuevo tenemos nuestro disparo
triple en el siguiente vídeo lo que vamos a revisar es cómo crear un sistema para que después de ciertos
segundos nuestro disparo triple deje de funcionar.
Una cosa que quiero revisar cuando estamos usando que componen es la revisión de Null como vimos en
la documentación cuando llevamos esta función.
Si el componente no existe va a regresar a un nivel.
No existe esta línea de regresar.
No referees un error simplemente porque no se encontró ese componente típicamente cuando después de
que nos declaramos nuestra variable a manejar ese componente vamos a revisar si.
De hecho encontramos ese componente y después de eso es cuando nosotros hacemos todas las operaciones
necesarias.
Entonces aquí simplemente decimos y Claire es diferente a lo que quiere decir que sí encontramos ese
componente y entonces ya podemos afectar a nuestra variable tripulación.
Si no lo hacemos así o si tratamos de afectarla y nuestro en nuestra variable es nula.
Entonces nos va a ser un referente que en esencia arte juego entonces normalmente lo que vamos a hacer
es querer revisar nuestro skeet componen no nos regresan.