1
00:00:00,590 --> 00:00:01,440
Vale, vamos a seguir.

2
00:00:02,700 --> 00:00:09,870
Hay otra cosa que para que el gameplay siga adelante y sobre todo ahora que tenemos fondo, es obvia.

3
00:00:11,030 --> 00:00:14,850
Qué pasa cuando mi personaje salta bien?

4
00:00:15,780 --> 00:00:16,210
Pues nada.

5
00:00:16,740 --> 00:00:19,720
O no pasa nada porque funciona.

6
00:00:20,460 --> 00:00:21,720
Vale, porque saltais.

7
00:00:21,720 --> 00:00:28,940
Es que íbais el mamarracho que viene por aquí, ya sea la caja, o sea el barril o la valla o demás.

8
00:00:30,270 --> 00:00:33,120
Pero qué pasa cuando chocó contra algo?

9
00:00:36,150 --> 00:00:36,950
Que se me va.

10
00:00:36,990 --> 00:00:38,560
Y ahora estoy saltando y novais.

11
00:00:39,470 --> 00:00:45,720
No sé si estoy saltando porque a lo mejor ya no toco ni el suelo, pero está claro que cuando hay una

12
00:00:45,720 --> 00:00:48,850
colisión puede ser de dos tipos.

13
00:00:48,870 --> 00:00:55,050
Favorable porque toco el suelo y esto me da opción a volver a saltar o desfavorable.

14
00:00:55,170 --> 00:01:02,280
Toco una cosa que no es el suelo, que es un obstáculo y por tanto algo debería pasar.

15
00:01:03,330 --> 00:01:04,620
Veremos que significa algo.

16
00:01:05,820 --> 00:01:11,130
En este caso vamos a ser muy bestias a la que tocamos, morimos a tomar por culo.

17
00:01:13,560 --> 00:01:16,460
A ver, normalmente los Infinite Runners son así.

18
00:01:17,880 --> 00:01:21,320
Se me ocurre, por ejemplo, el subway surfer o su suerte?

19
00:01:21,630 --> 00:01:22,050
Lo digo bien.

20
00:01:22,080 --> 00:01:23,850
Subway Surfer

21
00:01:28,350 --> 00:01:33,690
es en 3D visto bueno, realmente es en 3D porque te puedes mover, pero vuelves a moverte solo en dos

22
00:01:33,690 --> 00:01:39,260
ejes y si te comes un tren o te comes algo, lo que sea, mueres.

23
00:01:39,330 --> 00:01:41,520
El otro que me gustaba mucho era el tema del RAM.

24
00:01:43,410 --> 00:01:45,780
Vale, que lo compró la Disney, creo recordar.

25
00:01:46,550 --> 00:01:47,600
Es exactamente lo mismo.

26
00:01:47,610 --> 00:01:54,610
Corres en 3D al eje izquierda derecha, pero realmente sólo tienes un eje de movimiento, nosotros,

27
00:01:54,750 --> 00:02:02,790
el eje de movimientos, el salto, etc. Y realmente cuando tocamos algo automáticamente deberíamos morir.

28
00:02:04,620 --> 00:02:09,590
Pero es que nosotros acordaros, en el Player Controller ya tenemos una detección de colisiones.

29
00:02:09,600 --> 00:02:10,080
Os acordáis?

30
00:02:10,740 --> 00:02:17,130
Teníamos este método que chequeamos si el otro objeto con el que chocamos tiene la etiqueta Grounded

31
00:02:18,120 --> 00:02:18,890
resetea.

32
00:02:18,900 --> 00:02:20,220
Vamos, el son de Brown.

33
00:02:20,220 --> 00:02:21,990
De igual atrium podríamos volver a saltar.

34
00:02:24,420 --> 00:02:30,030
Lo que debe ocurrir ahora es que todos los objetos contra los que chocamos acordaros que os he hecho

35
00:02:30,030 --> 00:02:31,200
añadirle una etiqueta.

36
00:02:32,010 --> 00:02:37,830
Si me voy a los prepas los cuatro objetos, estos deberían tener una etiqueta, obstáculo, obstáculo,

37
00:02:37,950 --> 00:02:38,940
obstáculo y obstáculo.

38
00:02:38,990 --> 00:02:41,070
Sabéis si no la tenéis?

39
00:02:41,080 --> 00:02:42,510
Es un buen momento para que la creáis.

40
00:02:42,790 --> 00:02:50,160
Vale, porque ahora el truco va a ser chequear si la etiqueta de la colisión es o no es la del obstáculo.

41
00:02:51,420 --> 00:02:59,580
Entonces, lo único que tenemos que hacer es que el método colisionen del player controller que era

42
00:02:59,580 --> 00:03:06,690
capaz de detectar cuando tocábamos el suelo además de este, y ahora tiene que tener otro ID para ver

43
00:03:06,690 --> 00:03:10,170
si toca un obstáculo este.

44
00:03:10,560 --> 00:03:19,950
Hay dos opciones lo colocas a saco aquí y blablabla o podéis a partir de la condición anterior, colocar

45
00:03:19,950 --> 00:03:22,700
un enlace vale el 6.

46
00:03:22,740 --> 00:03:30,060
De hecho, cuál es la diferencia si colocas su NIF uno debajo del otro?

47
00:03:30,990 --> 00:03:36,270
Podría pasar que ocurra una condición, la otra o las dos en un mismo freie.

48
00:03:36,360 --> 00:03:40,890
Podría ser que a lo mejor estéis tocando el suelo y a la vez el obstáculo.

49
00:03:43,240 --> 00:03:49,720
Así, de este modo, si colocas un enlace, el enlace solo se ejecuta si la condición anterior es falsa,

50
00:03:49,730 --> 00:03:54,490
es decir, si tocar el suelo es falso.

51
00:03:55,420 --> 00:03:57,140
Ejecutaremos lo que fuera en el enlace.

52
00:03:58,840 --> 00:04:01,290
En este caso depende.

53
00:04:01,900 --> 00:04:06,100
A ver, yo ahora podría venir aquí colocar IBF el Oder.

54
00:04:06,160 --> 00:04:13,530
La colisión tiene asociado algo con la etiqueta, que era un obstáculo.

55
00:04:15,670 --> 00:04:20,390
Si el otro objeto tiene la etiqueta obstaculo matar al jugador.

56
00:04:20,770 --> 00:04:24,280
Ahora veremos si esto lo dejais así.

57
00:04:25,390 --> 00:04:31,600
El personaje toca el suelo y a la vez toca los báculo, pues se ejecutarán las dos líneas de código.

58
00:04:32,920 --> 00:04:41,260
Si lo colocas como un s, le estáis dando un Freundt invulnerabilidad al jugador en el que si toca el

59
00:04:41,260 --> 00:04:46,630
suelo justamente, a la vez que el obstáculo le da la posibilidad de que vuelva a saltar y a lo mejor

60
00:04:46,630 --> 00:04:47,140
lo esquive.

61
00:04:47,930 --> 00:04:48,140
Vale.

62
00:04:50,460 --> 00:04:51,530
Cuál es la más justa?

63
00:04:52,380 --> 00:04:56,730
Vamos a aprobar las dos, de hecho, a ver si realmente marca la diferencia.

64
00:04:56,780 --> 00:05:01,740
Yo creo que la respuesta va a ser que no, que no la va a marcar mucho, porque el propio obstáculo

65
00:05:02,700 --> 00:05:08,340
a la que yo esté chocando y mi personaje esté en el suelo contra el obstáculo a la que quiera saltar,

66
00:05:08,340 --> 00:05:09,360
dejará de tocar el suelo.

67
00:05:09,360 --> 00:05:11,250
En el siguiente frente tocará el obstáculo, morirá.

68
00:05:11,830 --> 00:05:16,080
O sea, no creo que no tenemos mucha diferencia, pero ahí está la gracia que lo proveídos vosotros.

69
00:05:16,680 --> 00:05:23,590
Vale entonces tanto si colocas el set para que no se puedan ejecutar los dos a la vez como si no, que

70
00:05:23,630 --> 00:05:24,500
es lo que vamos a hacer aquí.

71
00:05:24,600 --> 00:05:25,060
Muy fácil.

72
00:05:26,460 --> 00:05:35,040
La condición de Game Over es una condición que va a cambiar totalmente el giro de los acontecimientos

73
00:05:35,130 --> 00:05:36,840
porque va a dejar de poderse jugar.

74
00:05:37,370 --> 00:05:43,170
Entonces esta variable la voy a colocar en el propio Player Controller, a pesar de que el sitio natural

75
00:05:43,200 --> 00:05:45,870
sería el game manager que comentamos el otro día.

76
00:05:46,140 --> 00:05:50,100
Lo que pasa es que tener un game manager para una variable y hacer una comprobación me parece matar

77
00:05:50,100 --> 00:05:51,090
moscas a cañonazos.

78
00:05:51,750 --> 00:05:59,490
Al final, como solo hay un comportamiento que maneja, que es el de salto, el propio controlador hará

79
00:05:59,490 --> 00:06:05,010
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

80
00:06:05,010 --> 00:06:06,930
cambia su valor públic.

81
00:06:07,050 --> 00:06:10,020
Va a ser booleana y cómo voy a llamar a la condición.

82
00:06:10,580 --> 00:06:14,910
Os parece gay mover tipicamente el nombre que se le da?

83
00:06:14,910 --> 00:06:18,930
Es el fin de la partida importante.

84
00:06:19,020 --> 00:06:22,380
Cuál es el valor de la variable que mover cuando empieza el juego?

85
00:06:22,920 --> 00:06:23,460
Fouls.

86
00:06:23,910 --> 00:06:29,490
Si no tenemos un problema, si el juego ya empieza a mover igual, no tenemos nada que hacer y nos vamos

87
00:06:29,490 --> 00:06:29,880
a casa.

88
00:06:30,790 --> 00:06:36,630
Tiene que empezar con CAI Móvil igual a Folks y si tenemos que mover igual a Foll.

89
00:06:36,720 --> 00:06:43,470
Cuál es el sitio natural para convertir la variable que moverá a verdadera si se cumple la segunda condición,

90
00:06:43,830 --> 00:06:49,250
es decir, si el otro monje contra el que ha chocado contiene la etiqueta obstaculo.

91
00:06:49,560 --> 00:06:57,420
Entonces aquí mover igual a tu OEIS por tanto variable global.

92
00:06:57,480 --> 00:07:06,090
Arriba del todo públic bullían goy mover por defecto en fouls y es solamente dentro del colisionen.

93
00:07:06,420 --> 00:07:15,390
Cuando la colisión contra el otro objeto contiene la etiqueta obstáculo, un obstáculo que mover pasa

94
00:07:15,390 --> 00:07:17,010
a ser verdadero.

95
00:07:17,070 --> 00:07:21,120
De hecho, si queréis como ahora no va a pasar nada, sólo se va a activar un check.

96
00:07:21,520 --> 00:07:26,500
Poneros una ayuda visual de back to lock para que salga por la consola.

97
00:07:26,820 --> 00:07:28,290
Nada de mover.

98
00:07:32,230 --> 00:07:41,050
Puesto que mover con Vale guardáis vamos al editor y vamos a ver si visualmente hay diferencia entre

99
00:07:41,050 --> 00:07:42,600
colocarse él o no colocarse.

100
00:07:42,920 --> 00:07:45,790
Yo creo que la respuesta va a ser que no. Pero bueno, vamos a verlo.

101
00:07:46,480 --> 00:07:52,840
Entonces empieza esta cosa, se cae mi granjero, aterriza los suelos punk.

102
00:07:53,590 --> 00:08:01,240
Puedo saltar aquí no hay ningún problema, salvo el objeto magníficamente salto, magníficamente salto

103
00:08:01,240 --> 00:08:02,110
magníficamente.

104
00:08:02,110 --> 00:08:03,670
Qué pasa si aterriza encima?

105
00:08:06,220 --> 00:08:06,600
Moverlo.

106
00:08:06,720 --> 00:08:13,840
Veis que cada vez que aterrizo o me chocó me sale el que habéis visto que cuando chocado todavía ha

107
00:08:13,840 --> 00:08:14,650
podido saltar.

108
00:08:15,040 --> 00:08:16,870
Lo que pasa es que la barrera me la llevo puesta.

109
00:08:18,640 --> 00:08:19,970
En este caso es por él.

110
00:08:21,380 --> 00:08:23,840
Sí prescindo de él.

111
00:08:24,490 --> 00:08:26,260
Se van a poder ejecutar las dos a la vez?

112
00:08:28,640 --> 00:08:33,340
Yo creo que no vamos a ver ninguna diferencia, lo podemos probar, pero yo creo que vais a ver exactamente

113
00:08:33,340 --> 00:08:33,800
lo mismo.

114
00:08:37,670 --> 00:08:43,710
Esto cuándo lo vais a poder observar correctamente es cuando os pongáis a jugar media hora en el juego

115
00:08:44,370 --> 00:08:47,910
y note que en algunos casos pasa x, en algunos casos pasa ahí.

116
00:08:48,570 --> 00:08:50,880
Esto es porque lo habéis dejado de la mano de Dios con dos IPS.

117
00:08:51,750 --> 00:08:53,670
Si lo ponéis con un LG no debería pasar.

118
00:08:53,670 --> 00:08:57,560
Entonces ahora lo mismo que antes hechoque y mover.

119
00:08:57,940 --> 00:09:00,060
Y ahora cuando salto como ya os voy mover, lo veis?

120
00:09:01,080 --> 00:09:01,350
Qué pasa?

121
00:09:01,350 --> 00:09:04,740
Que aquí como dejo que siga corriendo todo, no vemos diferencia todavía.

122
00:09:05,650 --> 00:09:10,380
Vale, por tanto él o novels me da igual.

123
00:09:11,790 --> 00:09:19,350
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

124
00:09:19,360 --> 00:09:24,300
al siguiente frene saltais, que va a ser muy difícil poder colocar el L.

125
00:09:24,540 --> 00:09:27,450
Si os hace gracia, podéis colocarlos y no os hace gracia.

126
00:09:27,840 --> 00:09:28,000
Vale.

127
00:09:30,680 --> 00:09:31,850
Y un pequeño detalle.

128
00:09:31,990 --> 00:09:34,680
Aquí os he dicho colocando inmóvil igual a fouls.

129
00:09:35,230 --> 00:09:37,420
Qué hubiera pasado si no coloco igual a Fool's?

130
00:09:39,970 --> 00:09:43,450
Nada, porque por defecto, si no dais valor, hagáis mover que vale a una variable.

131
00:09:43,450 --> 00:09:44,760
Julianna por defecto es falso.

132
00:09:45,550 --> 00:09:49,840
Todas estas cosas, ya digo, van a salir 20000 veces, las voy a repetir un montón.

133
00:09:50,410 --> 00:09:53,260
Pero es a base de repetir que llegaréis a aconseguir.

134
00:09:55,480 --> 00:09:58,630
Vale, pues ya tenemos el estado de mover.

135
00:09:59,920 --> 00:10:05,290
Pero está claro que para que parezca ongay mover, más allá de poner un mensaje por consola, que lo

136
00:10:05,290 --> 00:10:09,780
sabéis vosotros porque lo habéis creado y nadie más habrá que hacer algo más aquí.

137
00:10:10,600 --> 00:10:16,330
Recordad que como hecho que la variable sea pública, veis que en el player controller aparece esa variable

138
00:10:16,330 --> 00:10:16,920
que mover.

139
00:10:17,240 --> 00:10:23,530
Veis aquí que por defecto es falsa y que no es hasta que chocó contra la cosa.

140
00:10:23,530 --> 00:10:26,670
Está clik que aparecer.

141
00:10:27,090 --> 00:10:27,630
Lo veis?

142
00:10:28,170 --> 00:10:37,120
Esta va a ser un poco la clave para mostrar el goy mover, porque para mostrar algo y mover hay muchas

143
00:10:37,120 --> 00:10:44,290
formas, una pantalla que no voy a hacer porque aún no hemos visto pantallas, más que nada parar la

144
00:10:44,290 --> 00:10:46,390
ejecución, como vimos ayer con el Thain del Tata.

145
00:10:47,500 --> 00:10:50,380
Pero aquí lo voy a hacer de otro modo.

146
00:10:50,380 --> 00:10:55,180
No voy a parar toda la ejecución, voy a parar dos cosas que evidentemente ya no tienen sentido.

147
00:10:55,570 --> 00:10:59,470
El escenario y los objetos que se van moviendo.

148
00:10:59,960 --> 00:11:05,200
Vale, y todo va a ser gracias a esta variable que de hecho, por eso la ha hecho pública.

149
00:11:06,330 --> 00:11:12,550
Si fuera privada el script de movimiento podría saber cuál es el estado del goy mover no, porque sería

150
00:11:12,550 --> 00:11:13,130
privada.

151
00:11:13,600 --> 00:11:21,940
Entonces este es el ejemplo perfecto de variable que tiene que ser pública para poder acceder a ella

152
00:11:22,050 --> 00:11:23,570
y de hecho no voy a hacer que sea público.

153
00:11:23,570 --> 00:11:28,870
Os voy a introducir un modificador que os va a gustar, pero en principio la idea de que sea pública

154
00:11:28,870 --> 00:11:30,340
es para que otros puedan acceder a ella.

155
00:11:31,360 --> 00:11:31,510
Si.
