Vale, vamos a seguir.
Hay otra cosa que para que el gameplay siga adelante y sobre todo ahora que tenemos fondo, es obvia.
Qué pasa cuando mi personaje salta bien?
Pues nada.
O no pasa nada porque funciona.
Vale, porque saltais.
Es que íbais el mamarracho que viene por aquí, ya sea la caja, o sea el barril o la valla o demás.
Pero qué pasa cuando chocó contra algo?
Que se me va.
Y ahora estoy saltando y novais.
No sé si estoy saltando porque a lo mejor ya no toco ni el suelo, pero está claro que cuando hay una
colisión puede ser de dos tipos.
Favorable porque toco el suelo y esto me da opción a volver a saltar o desfavorable.
Toco una cosa que no es el suelo, que es un obstáculo y por tanto algo debería pasar.
Veremos que significa algo.
En este caso vamos a ser muy bestias a la que tocamos, morimos a tomar por culo.
A ver, normalmente los Infinite Runners son así.
Se me ocurre, por ejemplo, el subway surfer o su suerte?
Lo digo bien.
Subway Surfer
es en 3D visto bueno, realmente es en 3D porque te puedes mover, pero vuelves a moverte solo en dos
ejes y si te comes un tren o te comes algo, lo que sea, mueres.
El otro que me gustaba mucho era el tema del RAM.
Vale, que lo compró la Disney, creo recordar.
Es exactamente lo mismo.
Corres en 3D al eje izquierda derecha, pero realmente sólo tienes un eje de movimiento, nosotros,
el eje de movimientos, el salto, etc. Y realmente cuando tocamos algo automáticamente deberíamos morir.
Pero es que nosotros acordaros, en el Player Controller ya tenemos una detección de colisiones.
Os acordáis?
Teníamos este método que chequeamos si el otro objeto con el que chocamos tiene la etiqueta Grounded
resetea.
Vamos, el son de Brown.
De igual atrium podríamos volver a saltar.
Lo que debe ocurrir ahora es que todos los objetos contra los que chocamos acordaros que os he hecho
añadirle una etiqueta.
Si me voy a los prepas los cuatro objetos, estos deberían tener una etiqueta, obstáculo, obstáculo,
obstáculo y obstáculo.
Sabéis si no la tenéis?
Es un buen momento para que la creáis.
Vale, porque ahora el truco va a ser chequear si la etiqueta de la colisión es o no es la del obstáculo.
Entonces, lo único que tenemos que hacer es que el método colisionen del player controller que era
capaz de detectar cuando tocábamos el suelo además de este, y ahora tiene que tener otro ID para ver
si toca un obstáculo este.
Hay dos opciones lo colocas a saco aquí y blablabla o podéis a partir de la condición anterior, colocar
un enlace vale el 6.
De hecho, cuál es la diferencia si colocas su NIF uno debajo del otro?
Podría pasar que ocurra una condición, la otra o las dos en un mismo freie.
Podría ser que a lo mejor estéis tocando el suelo y a la vez el obstáculo.
Así, de este modo, si colocas un enlace, el enlace solo se ejecuta si la condición anterior es falsa,
es decir, si tocar el suelo es falso.
Ejecutaremos lo que fuera en el enlace.
En este caso depende.
A ver, yo ahora podría venir aquí colocar IBF el Oder.
La colisión tiene asociado algo con la etiqueta, que era un obstáculo.
Si el otro objeto tiene la etiqueta obstaculo matar al jugador.
Ahora veremos si esto lo dejais así.
El personaje toca el suelo y a la vez toca los báculo, pues se ejecutarán las dos líneas de código.
Si lo colocas como un s, le estáis dando un Freundt invulnerabilidad al jugador en el que si toca el
suelo justamente, a la vez que el obstáculo le da la posibilidad de que vuelva a saltar y a lo mejor
lo esquive.
Vale.
Cuál es la más justa?
Vamos a aprobar las dos, de hecho, a ver si realmente marca la diferencia.
Yo creo que la respuesta va a ser que no, que no la va a marcar mucho, porque el propio obstáculo
a la que yo esté chocando y mi personaje esté en el suelo contra el obstáculo a la que quiera saltar,
dejará de tocar el suelo.
En el siguiente frente tocará el obstáculo, morirá.
O sea, no creo que no tenemos mucha diferencia, pero ahí está la gracia que lo proveídos vosotros.
Vale entonces tanto si colocas el set para que no se puedan ejecutar los dos a la vez como si no, que
es lo que vamos a hacer aquí.
Muy fácil.
La condición de Game Over es una condición que va a cambiar totalmente el giro de los acontecimientos
porque va a dejar de poderse jugar.
Entonces esta variable la voy a colocar en el propio Player Controller, a pesar de que el sitio natural
sería el game manager que comentamos el otro día.
Lo que pasa es que tener un game manager para una variable y hacer una comprobación me parece matar
moscas a cañonazos.
Al final, como solo hay un comportamiento que maneja, que es el de salto, el propio controlador hará
de manager en este caso, y vamos a añadir una variable la voy a hacer pública para que podáis ver cuándo
cambia su valor públic.
Va a ser booleana y cómo voy a llamar a la condición.
Os parece gay mover tipicamente el nombre que se le da?
Es el fin de la partida importante.
Cuál es el valor de la variable que mover cuando empieza el juego?
Fouls.
Si no tenemos un problema, si el juego ya empieza a mover igual, no tenemos nada que hacer y nos vamos
a casa.
Tiene que empezar con CAI Móvil igual a Folks y si tenemos que mover igual a Foll.
Cuál es el sitio natural para convertir la variable que moverá a verdadera si se cumple la segunda condición,
es decir, si el otro monje contra el que ha chocado contiene la etiqueta obstaculo.
Entonces aquí mover igual a tu OEIS por tanto variable global.
Arriba del todo públic bullían goy mover por defecto en fouls y es solamente dentro del colisionen.
Cuando la colisión contra el otro objeto contiene la etiqueta obstáculo, un obstáculo que mover pasa
a ser verdadero.
De hecho, si queréis como ahora no va a pasar nada, sólo se va a activar un check.
Poneros una ayuda visual de back to lock para que salga por la consola.
Nada de mover.
Puesto que mover con Vale guardáis vamos al editor y vamos a ver si visualmente hay diferencia entre
colocarse él o no colocarse.
Yo creo que la respuesta va a ser que no. Pero bueno, vamos a verlo.
Entonces empieza esta cosa, se cae mi granjero, aterriza los suelos punk.
Puedo saltar aquí no hay ningún problema, salvo el objeto magníficamente salto, magníficamente salto
magníficamente.
Qué pasa si aterriza encima?
Moverlo.
Veis que cada vez que aterrizo o me chocó me sale el que habéis visto que cuando chocado todavía ha
podido saltar.
Lo que pasa es que la barrera me la llevo puesta.
En este caso es por él.
Sí prescindo de él.
Se van a poder ejecutar las dos a la vez?
Yo creo que no vamos a ver ninguna diferencia, lo podemos probar, pero yo creo que vais a ver exactamente
lo mismo.
Esto cuándo lo vais a poder observar correctamente es cuando os pongáis a jugar media hora en el juego
y note que en algunos casos pasa x, en algunos casos pasa ahí.
Esto es porque lo habéis dejado de la mano de Dios con dos IPS.
Si lo ponéis con un LG no debería pasar.
Entonces ahora lo mismo que antes hechoque y mover.
Y ahora cuando salto como ya os voy mover, lo veis?
Qué pasa?
Que aquí como dejo que siga corriendo todo, no vemos diferencia todavía.
Vale, por tanto él o novels me da igual.
Me da igual, porque en este caso si tocáis el suelo y tocáis un obstáculo va a ser muy difícil que
al siguiente frene saltais, que va a ser muy difícil poder colocar el L.
Si os hace gracia, podéis colocarlos y no os hace gracia.
Vale.
Y un pequeño detalle.
Aquí os he dicho colocando inmóvil igual a fouls.
Qué hubiera pasado si no coloco igual a Fool's?
Nada, porque por defecto, si no dais valor, hagáis mover que vale a una variable.
Julianna por defecto es falso.
Todas estas cosas, ya digo, van a salir 20000 veces, las voy a repetir un montón.
Pero es a base de repetir que llegaréis a aconseguir.
Vale, pues ya tenemos el estado de mover.
Pero está claro que para que parezca ongay mover, más allá de poner un mensaje por consola, que lo
sabéis vosotros porque lo habéis creado y nadie más habrá que hacer algo más aquí.
Recordad que como hecho que la variable sea pública, veis que en el player controller aparece esa variable
que mover.
Veis aquí que por defecto es falsa y que no es hasta que chocó contra la cosa.
Está clik que aparecer.
Lo veis?
Esta va a ser un poco la clave para mostrar el goy mover, porque para mostrar algo y mover hay muchas
formas, una pantalla que no voy a hacer porque aún no hemos visto pantallas, más que nada parar la
ejecución, como vimos ayer con el Thain del Tata.
Pero aquí lo voy a hacer de otro modo.
No voy a parar toda la ejecución, voy a parar dos cosas que evidentemente ya no tienen sentido.
El escenario y los objetos que se van moviendo.
Vale, y todo va a ser gracias a esta variable que de hecho, por eso la ha hecho pública.
Si fuera privada el script de movimiento podría saber cuál es el estado del goy mover no, porque sería
privada.
Entonces este es el ejemplo perfecto de variable que tiene que ser pública para poder acceder a ella
y de hecho no voy a hacer que sea público.
Os voy a introducir un modificador que os va a gustar, pero en principio la idea de que sea pública
es para que otros puedan acceder a ella.
Si.