1
00:00:01,440 --> 00:00:07,740
Si os fijáis ahora que ya tenemos los bichos, éstos y la comida y demás, hay una cosa que podemos

2
00:00:07,740 --> 00:00:09,030
hacer para mejorar.

3
00:00:09,060 --> 00:00:11,790
Qué le pasa a los enemigos cuando llegan a cierto lugar?

4
00:00:11,790 --> 00:00:15,150
O qué le pasa a la comida cuando llega a cierto lugar que desaparece?

5
00:00:15,660 --> 00:00:21,660
O sea, aquí, y aunque no lo estáis viendo, los animales siguen ahí yéndose de la escena, cuando

6
00:00:21,660 --> 00:00:23,670
realmente si ya están fuera de la escena.

7
00:00:24,060 --> 00:00:33,090
Esto es un desperdicio de memoria, así que lo que vamos a hacer es ser capaces de detectar que un objeto

8
00:00:33,090 --> 00:00:38,390
ha salido de la pantalla, o bien porque es la comida que sale disparada para arriba, o bien porque

9
00:00:38,400 --> 00:00:41,800
son los animales que ya se han ido de la parte inferior.

10
00:00:42,120 --> 00:00:42,900
Cómo lo haríamos?

11
00:00:43,110 --> 00:00:43,560
Os parece?

12
00:00:47,590 --> 00:00:52,020
Es lo mismo que el movimiento del granjero, de hecho, un movimiento del granjero se paraba si se salía

13
00:00:52,020 --> 00:01:01,410
de ciertos límites, la pizza o la comida o los animales deben desaparecer, deben destruirse cuando

14
00:01:01,410 --> 00:01:02,730
desaparecen de la pantalla.

15
00:01:03,270 --> 00:01:04,740
A ver cuando desaparecen de la pantalla.

16
00:01:04,770 --> 00:01:09,120
No significa que los tengas que destruir cuando llegan aquí, cuando ya se han pasado y están un poco

17
00:01:09,120 --> 00:01:11,910
más lejos, los podéis destruir.

18
00:01:11,940 --> 00:01:14,460
Por ejemplo, el perro, que es el que se mueve más rápido.

19
00:01:16,020 --> 00:01:17,370
Aquí tenéis las coordenadas.

20
00:01:18,240 --> 00:01:23,340
Fijaros que cuando va bajando la zeta baja, baja, baja, baja, baja hasta que es negativa.

21
00:01:23,370 --> 00:01:25,330
Veis que ahora ya es negativa?

22
00:01:26,370 --> 00:01:27,150
Podríamos decidir?

23
00:01:27,180 --> 00:01:31,540
Pues mira, los vamos a destruir cuando estén al menos 20 o al menos 30, menos 40, menos 60.

24
00:01:32,280 --> 00:01:33,360
Y lo mismo para la pizza.

25
00:01:33,370 --> 00:01:37,110
Si la disparo la pizza, que dispare y la intentaré para.

26
00:01:39,380 --> 00:01:47,630
PODIDO parar la pizza que hay varias veces, que de momento están en 8, 7 u 8 veces.

27
00:01:48,230 --> 00:01:49,820
Si lo hago avanzar Frayba, Freinet.

28
00:01:53,010 --> 00:01:54,190
Qué va, se va moviendo.

29
00:01:54,820 --> 00:02:00,940
Llega hasta 20, 21, 22, 23, 24, 25, no sé si todavía se debe ver, no mira, ya ni se ve.

30
00:02:01,840 --> 00:02:02,980
Ya está fuera, lo veis?

31
00:02:03,610 --> 00:02:09,760
Por tanto, con localizas un lugar a partir del cual la información ya no se ve.

32
00:02:09,840 --> 00:02:11,950
Y aquí podéis ver que ya está fuera de la cámara.

33
00:02:12,090 --> 00:02:15,720
Esto es el tronco de visión de la cámara y aquí la pizza claramente ya está fuera.

34
00:02:16,550 --> 00:02:19,780
Entonces es un buen momento para llegar a llevar a cabo la destrucción.

35
00:02:20,620 --> 00:02:24,670
La forma más fácil o la que a mi me gusta es tener un script para destruirlo todo.

36
00:02:25,090 --> 00:02:35,860
Entonces, en el script vamos a crear un script vacío y le vamos a llamar distraido autoevacuados destruir

37
00:02:35,880 --> 00:02:42,040
para cuando está fuera de una frontera y el proceso de destrucción de nuevo va a pasar como antes.

38
00:02:42,670 --> 00:02:50,530
Va a destruir cualquier cosa que se salga de las fronteras de la pantalla, sea la pizza, sea la botella,

39
00:02:50,620 --> 00:02:51,970
sea un animal.

40
00:02:52,350 --> 00:02:57,130
Vale, es el mismo script este distro ñatos bounds.

41
00:02:57,670 --> 00:02:59,200
Vamos a abrirlo aquí.

42
00:03:00,490 --> 00:03:04,300
Qué creéis que necesita en términos de variables?

43
00:03:10,740 --> 00:03:14,460
La distancia lo que hay que destruir, no por qué?

44
00:03:14,560 --> 00:03:20,080
Porque este escrit se va a añadir automáticamente a cualquier cosa que se instancia de enemigo o bala.

45
00:03:20,490 --> 00:03:24,840
Es decir, nada más se hayan creado estos objetos tendrán fecha de caducidad.

46
00:03:25,980 --> 00:03:33,350
Vale, entonces lo único que necesitamos en términos de variables es una variable private cloud.

47
00:03:34,740 --> 00:03:36,570
Vamos a llamarle frontera superior.

48
00:03:36,600 --> 00:03:37,980
Vamos a empezar por las balas.

49
00:03:38,280 --> 00:03:41,500
Top down y el top bown?

50
00:03:41,540 --> 00:03:42,920
Yo creo que en 30.

51
00:03:43,470 --> 00:03:44,810
Vamos, que nos sobramos.

52
00:03:45,610 --> 00:03:49,980
Vale dejaros que el 30 estaría más o menos haberme traído la vaca.

53
00:03:49,980 --> 00:03:56,460
Esta 30 estaría por aquí y aquí ya está más que de sobras.

54
00:03:56,850 --> 00:04:03,420
Fuera del campo de visión de la cámara, por lo tanto, yo creo que 30 está bien como variable top,

55
00:04:03,880 --> 00:04:07,170
frontera superior de destrucción.

56
00:04:08,970 --> 00:04:18,210
Y sobre todo, la única razón por la que este escrit existe es para evitar saturar la jerarquía con

57
00:04:18,210 --> 00:04:19,350
objetos inútilmente.

58
00:04:19,410 --> 00:04:25,320
Al final, el exceso de objetos tendrá que ser manejado por la CPU y eso significa que cuando el número

59
00:04:25,320 --> 00:04:30,090
de objetos crezca exponencialmente vamos a tener una limitación.

60
00:04:30,210 --> 00:04:36,720
Al final, la capacidad de la CPU o de la memoria para guardar referencia a todos estos objetos es limitada

61
00:04:37,230 --> 00:04:43,320
y por tanto, lo que queremos evitar es sobre saturar nuestras máquinas o, si es un teléfono móvil,

62
00:04:43,770 --> 00:04:45,270
drenar la batería del mismo.

63
00:04:45,970 --> 00:04:51,390
Entonces, la razón por la que existe este distraido out of bounds es para poder hacer la limpieza de

64
00:04:51,390 --> 00:04:57,720
todo lo que no hace falta que esté en la jerarquía y que esté gastando RAM inútilmente.

65
00:04:59,090 --> 00:05:00,320
Entonces, en este caso es muy fácil.

66
00:05:02,190 --> 00:05:06,330
Qué código añadiría es en el ADAPT para hacer la destrucción.

67
00:05:06,360 --> 00:05:12,720
Si se supera la frontera superior, como este scrip lo llevará a cualquier objeto que se mueva por pantalla.

68
00:05:12,810 --> 00:05:23,630
Es tan simple como consultar y si el objeto actual si disputo transform punto positivo, punto X y Z,

69
00:05:23,930 --> 00:05:28,560
cuál es la dirección que hay que chequear para salirse por arriba o por abajo de la pantalla?

70
00:05:29,580 --> 00:05:30,020
Z.

71
00:05:31,680 --> 00:05:41,660
Hay que mirar si la Z supera la frontera superior top down, si la coordenada del objeto que tiene este

72
00:05:41,660 --> 00:05:45,960
scripta arrastrado supera la frontera superior.

73
00:05:46,470 --> 00:05:50,160
Lo único que hay que hacer es destruir el objeto punto destruir.

74
00:05:50,430 --> 00:05:54,660
Es un proceso muy simple, es llamar a una función que se llama distro con la de mayúscula.

75
00:05:56,150 --> 00:06:02,970
Y dentro del paréntesis hay que poner la palabra game object con la o minúscula cola g en minúscula.

76
00:06:04,260 --> 00:06:06,600
No me lo pongáis con la G mayúscula g mayúscula.

77
00:06:06,600 --> 00:06:10,140
Es una clase gameshop es el objeto que queréis destruir.

78
00:06:10,140 --> 00:06:16,620
De hecho este es otro escenario de los que yo colocaría Disputo Cambodge para indicar que vais a destruir

79
00:06:16,680 --> 00:06:20,460
el objeto que tiene este script asociado.

80
00:06:20,830 --> 00:06:24,880
Vale entonces así de simple.

81
00:06:25,980 --> 00:06:33,570
Si las coordenadas en el eje Z supera la frontera superior establecida, estos 30 puntos que ya he puesto

82
00:06:33,570 --> 00:06:39,510
como variable privada para que nadie me las toque, pues fijaros cada vez que un objeto se pase por

83
00:06:39,510 --> 00:06:40,770
arriba será destruido.

84
00:06:41,250 --> 00:06:42,260
Vamos a probarlo.

85
00:06:42,330 --> 00:06:51,660
Para ello simplemente guardamos el script y a quien hay que darle este suscriptos parece a los proyectiles.

86
00:06:51,660 --> 00:07:00,990
Y cuantos tenemos 4 o yo tengo 4, pero tengo un FAP y tres variantes a quien se lo doy para que sea

87
00:07:00,990 --> 00:07:02,940
más rápido al padre.

88
00:07:03,600 --> 00:07:05,460
Recuerda que mi padre era la picha.

89
00:07:07,640 --> 00:07:16,300
Entonces a los proyectiles me busco la pizza, la pizza, le añado la componente distraido o atef bounds,

90
00:07:16,760 --> 00:07:18,230
el distros y autos, vamos.

91
00:07:18,420 --> 00:07:22,230
Se lo he añadido al padre y los hijos automáticamente veis que me lo han heredado.

92
00:07:22,980 --> 00:07:28,350
Esto significa que cuando le doy al play los animales van a seguir su curso, pero si yo disparo la

93
00:07:28,350 --> 00:07:28,920
pizza.

94
00:07:31,480 --> 00:07:34,340
Veis que a la que dejó de dispararse van destruyendo?

95
00:07:34,940 --> 00:07:41,600
Podéis disparar un montón de pizzas, pero como veis aquí lo vais a ver.

96
00:07:41,630 --> 00:07:42,830
Voy a ir avanzando.

97
00:07:43,730 --> 00:07:45,050
Veis que se me van destruyendo.

98
00:07:45,140 --> 00:07:46,500
A medida que vaya avanzando, freímos.

99
00:07:46,520 --> 00:07:47,660
Veis que van desapareciendo?

100
00:07:48,900 --> 00:07:50,150
No veis que cada vez hay menos?

101
00:07:51,220 --> 00:07:58,400
Si van desapareciendo aquí, si dejo de disparar, desaparecen todas las pizzas de la jerarquía.

102
00:07:59,750 --> 00:08:00,890
Pero ya está, ya lo tenéis.

103
00:08:02,200 --> 00:08:05,820
Mini ejercicio para vosotros destruir los animales cuando se salgan de la otra frontera.

104
00:08:07,450 --> 00:08:09,700
Vale menos probarlo, que es muy fácil.
