‫Hola y bienvenido.
‫En esta lección, presentaremos esta pieza de código aquí, el rango del actor
‫T, y veremos cómo nos permite iterar sobre todos los actores en un nivel dado.
‫Vamos a sumergirnos y ver cómo funciona.
‫Entonces, en el momento en que el modo de juego KML mató al peón, llamamos que el juego ha terminado en el controlador del jugador, pero en realidad
‫el juego ha terminado es una función en todos los controladores, ya sea un controlador I o un controlador de jugador.
‫Y probablemente también deberíamos notificar a los controladores aéreos que el juego ha terminado y ese será ciertamente el caso
‫o también hará que sea más fácil hacer una condición ganadora porque no
‫necesariamente tendremos al jugador, viniendo aquí
‫Entonces, ¿cómo seguimos adelante y hacemos esto?
‫Bueno, voy a crear una nueva función en el modo de juego matarlos a todos, una
‫privada llamada End Game, que será responsable de este acto.
‫Así que termina el juego y necesitará algo de información.
‫Va a necesitar saber quién ha ganado.
‫¿Ha sido el jugador?
‫¿Ha sido la A? YO.?
‫Así que voy a crear un grupo aquí llamado B es el jugador ganador.
‫Y eso va a ser lo que nos diga si deberíamos o no decirle al tipo que ganó o decirle al
‫jugador que ganó.
‫Porque recuerda aquí nuestro juego ha terminado.
‫Toma booleana diciéndole al controlador si es o no uno de los ganadores.
‫Entonces, lo que vamos a tener que hacer es averiguar, en primer lugar, sigamos adelante y creemos la implementación.
‫Así que voy a hacer mi cambio de control P y luego crearé la implementación.
‫Y luego vamos a tener que descubrir cómo podemos encontrar todos los controladores en nuestra escena para
‫que podamos decir que el juego ha terminado en esos controladores.
‫Ahora, la forma en que vamos a hacer esto es usando una llamada de ayuda del motor.
‫Así que olvídese de incluir el hash, vamos a usar las utilidades del motor dot h en primer lugar, eso
‫traerá al alcance el ayudante que quiero y el ayudante se llama T actor range y T actor range es una cosa de
‫plantilla.
‫Así que podemos hacer los paréntesis angulares aquí.
‫Luego podemos poner un controlador y luego los paréntesis y obtener el mundo.
‫Ahora, ¿qué va a hacer esto?
‫Volverá como un objeto de rango, que es básicamente una especie de lista que abarca todos
‫los controladores.
‫Es por eso que tenemos ese parámetro de controlador ahí en el mundo a. k. a el nivel, y podemos usar esto
‫en un bucle completo.
‫Entonces, permítanme comenzar a envolver esto en un bucle para que podamos hacer un for sobre el controlador A.
‫Así que esa cosa que es la variable que vamos a organizar será un puntero de
‫controlador, al que llamaré controlador.
‫Y luego usamos los dos puntos para lo que vamos a abarcar.
‫Va a ser esta T gama activa y que podemos poner nuestra ropa entre paréntesis y corchetes.
‫Entonces, ¿qué es este dicho?
‫Está diciendo que vamos a hacer un ciclo completo sobre cada controlador en el mundo y estará
‫en esta variable llamada controlador.
‫Y ahora hay un par de cosas que tal vez necesites saber.
‫Entonces, una cosa es que podemos consultar un controlador para saber si es o no el controlador del jugador sin
‫tener que lanzar.
‫De hecho, podemos simplemente hacer la flecha del controlador.
‫Y luego creo que realmente necesitaré incluir mi controlador aquí.
‫Entonces, un hash incluye en la parte superior, vamos a hacer un marco de juego con el controlador de barra inclinada hacia adelante H y
‫ahora todo para completar probablemente funcionará.
‫Sí lo tiene.
‫Entonces, lo que podemos hacer es obviamente decir que el juego ha terminado.
‫Ese es mi primer autocompletar aquí.
‫Pero también podemos decir que es el controlador del reproductor.
‫¿Básicamente va a decir que esta cosa en el mundo es para jugar un controlador?
‫Y eso nos permitirá decidir si debemos dar o no como verdadero o falso que el juego ha terminado.
‫Entonces, mi desafío para usted es completar este ciclo for diciendo que el juego ha terminado con el parámetro
‫booleano correcto.
‫Entonces, vamos a hacer esto para que, básicamente, sea cierto si el controlador con el que estamos hablando actualmente
‫en el bucle for es un controlador de jugador y el booleano que hemos pasado dice que el controlador
‫de jugador es el ganador también debe ser verdadero si no es un controlador de juego y no el jugador, el jugador
‫es el ganador básicamente dice si este es un aliado y el tipo es el ganador falso si el controlador del
‫jugador pero el jugador no es el ganador y falso si no es el controlador del jugador, pero el jugador es
‫el ganador.
‫Uno ve a dónde va esto, con suerte.
‫Así que pause el video e intente implementarlo de esta manera, podría usar declaraciones if.
‫Puede usar alguna otra lógica que le permita calcular este video de pausa booleano y probar.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que podrías hacer esto de varias maneras.
‫Una forma podría ser decir si la abeja es un jugador, controlar un ganador y luego vamos a poner algo en
‫la declaración if.
‫Podríamos hacer un pull up aquí para decidir que básicamente B es el controlador del jugador.
‫Que vamos a salvar del hecho de que hacemos un controlador.
‫Flecha, el controlador está jugando así.
‫Y luego podríamos decir, está bien, bueno, queremos llamar al controlador.
‫El juego de flechas ha terminado.
‫Vamos a pasar los puntos nulos por ahora.
‫Y luego vamos a decir, bueno, si es un jugador el que gana y nosotros somos un controlador de jugador,
‫entonces sí, básicamente vamos con ese valor.
‫Así que juega un controlador.
‫De lo contrario, si no es el controlador del reproductor, se habrá perdido.
‫Y podemos simplemente negar esto para que podamos decir.
‫De lo contrario, vamos a llamar al juego del controlador que no es el controlador del jugador básicamente porque estamos diciendo
‫que el jugador no es el ganador, el aire es el ganador en esta declaración.
‫Y entonces lo que queremos hacer es decir que depende de si ven lo contrario de si el jugador ha ganado,
‫es decir que ha ganado el aire.
‫Así que esa es una forma de hacerlo con seguridad.
‫Pero hay otra forma más sencilla, que es simplemente decir, ¿somos los ganadores?
‫Así que ser es ganador.
‫Y esto puede ser simplemente para decir que si usted es el controlador del jugador es igual a B es el jugador ganador.
‫Ahora, pensemos un poco más en esto.
‫Y terminaré esto completamente y luego hablaremos de ello.
‫Así que vamos a decir que el juego del sombrero del controlador ha terminado será el puntero nulo con la B es el ganador
‫pasado aquí.
‫Ahora, ¿por qué funciona esta afirmación?
‫Bueno, pensemos en los casos.
‫Derecha.
‫Entonces, ¿tenemos un controlador de jugador aquí y el jugador es el ganador?
‫Sí, somos el ganador.
‫Y son iguales.
‫Verdadero y verdadero
‫¿Qué tal si este no es el controlador del jugador y el jugador no es el ganador?
‫Bueno, entonces esto es falso.
‫Y esto de aquí también es falso.
‫Para que los dos sean iguales y el resultado sea ganador.
‫¿Es eso cierto?
‫Sí.
‫Porque si somos el yo y el yo como ganador, entonces deberíamos ser los ganadores.
‫De lo contrario, si estos dos no son iguales, i. mi. que tenemos un controlador de aire pero
‫el jugador es el ganador, o tenemos el controlador de jugador y el aire es el ganador, entonces vamos a tener un verdadero y
‫falso o un falso y verdadero.
‫Estos dos no van a ser iguales y el valor booleano se evaluará como falso.
‫Así que pueden ver que en cada uno de los casos y he revisado todos los casos allí, esto termina con la
‫respuesta correcta.
‫Entonces sabemos que este es el derecho.
‫Y esto es lo mejor de los valores booleanos: por lo general, puedes evaluar todos los casos porque
‫puedes decir, bueno, ¿cuáles son los casos?
‫Va a ser verdad y verdad.
‫Va a ser verdadero y falso.
‫Va a ser falso y verdadero.
‫Va a ser falso y falso.
‫Puedes evaluar todos esos casos.
‫Si todos esos casos son correctos, entonces sabrá que tiene una declaración booleana correcta.
‫Frio.
‫Así es como vamos a calcular la B cuando finalmente solo necesitamos llamar a nuestro modo de juego final.
‫En este momento estamos haciendo una llamada directa al controlador de juego. El juego ha terminado y lo que
‫realmente quiero hacer aquí es seguir adelante y llamar al final del juego y queremos pasar en falso porque esta es una situación en
‫la que el jugador realmente ha perdido. y eso es básicamente lo que queremos lograr.
‫Ahora, una cosa más a tener en cuenta aquí es que estos puntos nulos
‫que hemos estado pasando nos llevarán a problemas en el futuro, porque si el jugador realmente ha ganado, intentará quitarle el
‫foco a nuestro jugador. piscina.
‫Entonces, lo que queremos transmitir aquí es simplemente que el enfoque debe estar en el punto del controlador.
‫Y eso básicamente significa que debes poner el foco en tu propio controlador de jugador, ya sea básicamente ¿hacia dónde
‫debería apuntar tu cámara?
‫Todavía debería estar apuntando a tu peón.
‫¿Por qué es importante que hagamos esto?
‫¿Y por qué existe esta opción aquí en primer lugar?
‫Bueno, en muchos juegos, a menudo o en muchos juegos de estilo de partido, es posible que si el
‫juego ha terminado, quieras ir y seguir al peón.
‫Ese fue el ganador.
‫Así que imagina un escenario de Fortnite, a menudo vas y sigues a la persona que te mató.
‫Este es el mecanismo para hacer esto.
‫Básicamente pasas al peón de la persona que cometió el asesinato.
‫Eso es lo que estamos haciendo en nuestro juego.
‫Vamos a seguir mirando a Apple y si ganamos o morimos.
‫Así que eso es todo por la conferencia.
‫Vamos a compilar y ver si está funcionando.
‫Sumerjámonos en Unreal y presionemos reproducir.
‫Vamos a que nos maten.
‫Ahí tienes
‫Todo funciona como antes.
‫Todavía estamos recibiendo esa llamada en el controlador del reproductor y luego reiniciamos.
‫Buena cosa.
‫Entonces, en esta conferencia, solo para recapitular, ¿qué hemos visto?
‫Bueno, hemos visto cómo podemos iterar sobre los actores en el nivel para hacer algo como llamar a una función
‫en cada uno de esos actores.
‫En la próxima clase, volveremos a utilizar el rango del actor T, esta vez para calcular si el jugador tiene
‫uno.
‫Nos vemos eso.