1 00:00:01,199 --> 00:00:07,440 Hola otra vez. En este vídeo vamos a aprender a hacer que nos detecten los contactos con el 2 00:00:07,440 --> 00:00:14,640 personaje para hacer el game over y a llevar la puntuación de nuestros jugadores. Vamos a empezar 3 00:00:14,640 --> 00:00:22,679 por detectar el toque. Esto se puede hacer de dos formas, como un comando aparte e integrándolo en 4 00:00:22,679 --> 00:00:28,039 este comando. Primero os voy a enseñar a hacerlo bonito, que es integrándolo en el comando. Para 5 00:00:28,039 --> 00:00:36,890 ello tenemos que eliminar forever y vamos a darle a repetir hasta, lo volvemos a incluir 6 00:00:36,890 --> 00:00:42,609 y vamos a repetirlo hasta que, pues perdemos cuando, si ya que perdemos cuando la bola 7 00:00:42,609 --> 00:00:50,770 toque al gato, lo vamos a repetir hasta que toque al gato. ¿Qué va a pasar cuando toque 8 00:00:50,770 --> 00:00:58,789 al gato? Pues lo primero, vamos a hacer que desaparezca, o no, vamos a hacerlo, la parte 9 00:00:58,789 --> 00:01:02,469 de desaparecer lo vamos a hacer de otra forma para evitar repetir comandos, que siempre puede dar problemas, vale 10 00:01:02,469 --> 00:01:08,180 vamos a hacer que mande un mensaje 11 00:01:08,180 --> 00:01:11,859 ¿qué mensaje? game over 12 00:01:11,859 --> 00:01:17,780 final, este código es muy bonito 13 00:01:17,780 --> 00:01:21,420 lo veis, y cuando toque 14 00:01:21,420 --> 00:01:25,959 si es capaz de tocarlo, porque muchas veces no detecta 15 00:01:25,959 --> 00:01:29,579 el toque, tiene que pasar justo por el centro del 16 00:01:29,579 --> 00:01:31,120 gato 17 00:01:31,120 --> 00:01:36,760 parará, no, claro no, perdón 18 00:01:36,760 --> 00:01:38,819 es que aún no le he puesto 19 00:01:38,819 --> 00:01:40,500 game over, lo que hace game over 20 00:01:40,500 --> 00:01:42,500 ¿qué vamos a hacer cuando 21 00:01:42,500 --> 00:01:43,799 reciba game over? 22 00:01:44,780 --> 00:01:46,159 cuando reciba game over 23 00:01:46,159 --> 00:01:48,480 lo que vamos a hacer es que 24 00:01:48,480 --> 00:01:49,560 desaparezca 25 00:01:49,560 --> 00:01:54,659 vamos a intentarlo otra vez 26 00:01:54,659 --> 00:01:58,120 a ver si nos da el gato 27 00:01:58,120 --> 00:02:01,239 bueno, va a ser más rápido, vamos a ir más rápido 28 00:02:01,239 --> 00:02:02,939 con la bola de béisbol 29 00:02:02,939 --> 00:02:05,180 os he dicho que esto se puede hacer sin 30 00:02:05,180 --> 00:02:09,659 incluirlo aquí. ¿Por qué? Ahora vais a ver por qué. Como veis cada uno tiene su propio 31 00:02:09,659 --> 00:02:15,400 movimiento, su propia espera, no podemos sobreescribir esta parte en todas, para todas. Pero lo que 32 00:02:15,400 --> 00:02:21,039 sí podemos hacer es crear un evento paralelo que también empiece al comenzar, que espere 33 00:02:21,039 --> 00:02:33,120 hasta que, pues esperamos hasta que toque a nuestro gato volador y cuando toque a nuestro 34 00:02:33,120 --> 00:02:54,530 gato volador, vamos a hacer que envíe GameOver, nada más. Y este código, que esta parte 35 00:02:54,530 --> 00:03:06,599 sí que es igual para las tres bolas, la vamos a repetir. ¿Vale? Y ya tenemos en todas el 36 00:03:06,599 --> 00:03:12,840 mismo código. ¿Qué pasa además? Que me interesa que todas cuando reciban game over a la vez 37 00:03:12,840 --> 00:03:24,759 desaparezcan. Pues una vez más lo añadimos aquí. Y ahora sí, vamos a ver lo que pasaría 38 00:03:24,759 --> 00:03:33,800 cuando uno de los balones toque. Vamos a cambiarlo para que sea más rápido. ¡Ah! ¿Veis? 39 00:03:33,800 --> 00:03:44,659 ha desaparecido. ¿Vale? ¿Por qué razón? Claro, porque eso no lo han mandado. Este 40 00:03:44,659 --> 00:03:48,120 no lo he activado, ¿vale? Lo he activado un código, entonces cuando activa este código 41 00:03:48,120 --> 00:03:59,009 que es el de GameOver, va para allá. ¿Ya está? Bien. Vamos a pararlo todo. ¿Quién 42 00:03:59,009 --> 00:04:07,680 quiero que desaparezca también? Mi amigo el gato. Pues lo mismo. Cuando recibamos GameOver 43 00:04:07,680 --> 00:04:10,039 le vamos a pedir 44 00:04:10,039 --> 00:04:18,920 que desaparezca. ¿Por qué lo hemos 45 00:04:18,920 --> 00:04:21,060 hecho así? Porque 46 00:04:21,060 --> 00:04:22,839 nos queda más limpio. 47 00:04:22,980 --> 00:04:24,779 Podríamos haber hecho que cada uno 48 00:04:24,779 --> 00:04:25,620 de los balones 49 00:04:25,620 --> 00:04:28,279 estuviese aquí. 50 00:04:28,759 --> 00:04:30,600 Que el gato tuviese este código cuando 51 00:04:30,600 --> 00:04:32,980 hubiese cada uno de los balones. Yo preferiría hacerlo en la bola 52 00:04:32,980 --> 00:04:34,560 de béisbol. Nos da igual 53 00:04:34,560 --> 00:04:36,819 hacerlo en los balones que hacerlo 54 00:04:36,819 --> 00:04:38,899 en el gato. Simplemente que queda 55 00:04:38,899 --> 00:04:40,339 con menos información en cada uno. 56 00:04:41,600 --> 00:04:43,100 Recuerda, cuando tengamos mucho código 57 00:04:43,100 --> 00:04:52,730 siempre podemos recolocar lo vale siempre debemos recolocar lo cual un poquito porque es una cosa 58 00:04:52,730 --> 00:04:57,949 que nos falta aquí que no nos cuadra bien las cosas y es bueno un poquito caótico muchas veces 59 00:04:58,990 --> 00:05:04,149 bueno ahora vamos a hacer la variable de puntuación vale ya eliminado la que viene 60 00:05:04,149 --> 00:05:12,689 del sistema les vamos a añadir una nueva vamos a poner puntos podemos decir que esté disponible 61 00:05:12,689 --> 00:05:14,649 solo para este Sprite o para 62 00:05:14,649 --> 00:05:16,629 todo. Yo quiero que esté disponible para 63 00:05:16,629 --> 00:05:18,709 todos. Muy bien. 64 00:05:18,810 --> 00:05:19,769 Entonces, ¿cuándo? 65 00:05:20,889 --> 00:05:22,610 La vamos a poner por separado simplemente para que 66 00:05:22,610 --> 00:05:24,649 estén las de las variables todas distintas, ¿vale? 67 00:05:26,089 --> 00:05:26,569 ¿O podríamos 68 00:05:26,569 --> 00:05:28,629 esto que hace ahora o podríamos añadir en este 69 00:05:28,629 --> 00:05:30,769 condón? Bueno, pues cuando 70 00:05:30,769 --> 00:05:31,769 pulsemos la 71 00:05:31,769 --> 00:05:34,750 banderita verde, yo quiero 72 00:05:34,750 --> 00:05:35,730 dos cosas. Una, 73 00:05:36,990 --> 00:05:38,009 que esté siempre cero 74 00:05:38,009 --> 00:05:40,189 y dos, 75 00:05:40,930 --> 00:05:41,910 la vamos a esconder. 76 00:05:42,689 --> 00:05:48,209 ¿Vale? Quiero esconder la variable porque quiero que aparezca una vez empiece el juego. 77 00:05:49,050 --> 00:05:53,250 Muy bien. El juego empieza cuando recibimos comenzar. 78 00:05:53,930 --> 00:06:01,779 En ese momento, vamos a hacer... Voy a ponerlo al revés. Me gusta más que primero desaparezca y luego lo pongamos a hacer. 79 00:06:04,420 --> 00:06:07,480 Vamos a hacer que vaya aumentando de la forma que queramos. 80 00:06:08,500 --> 00:06:14,139 Claro, si lo hacemos así, ya está. No se va a repetir. Entonces no nos vale. 81 00:06:14,139 --> 00:06:16,800 Queremos que se repita 82 00:06:16,800 --> 00:06:18,620 Para siempre 83 00:06:18,620 --> 00:06:22,899 Pero cuando lo hacemos así 84 00:06:22,899 --> 00:06:24,040 Aumenta una velocidad 85 00:06:24,040 --> 00:06:25,899 Que es ridícula 86 00:06:25,899 --> 00:06:28,100 No tiene ningún sentido que lo hagamos aumentar así 87 00:06:28,100 --> 00:06:31,019 ¿Qué tenemos que hacer para que no aumente así? 88 00:06:32,860 --> 00:06:33,339 Esperar 89 00:06:33,339 --> 00:06:35,199 Ponerle esperar 90 00:06:35,199 --> 00:06:35,800 Que espere 91 00:06:35,800 --> 00:06:37,379 Y se repita 92 00:06:37,379 --> 00:06:39,500 Vemos que ya va subiendo de una forma mucho más 93 00:06:39,500 --> 00:06:41,839 Lógica 94 00:06:41,839 --> 00:06:47,740 A mí me gusta ponerlo cada 0,5 segundos, también podemos hacer el comentario de 100, 10, 100, 100, como queramos. 95 00:06:48,740 --> 00:06:54,120 Vamos a parar este script, vamos a lanzar esto de 0, y hasta aquí estaría bien. 96 00:06:56,490 --> 00:07:01,629 Pasa una cosa, que yo antes lo he probado, no me he dado cuenta de que no se podía hacer, 97 00:07:02,629 --> 00:07:05,850 y pues por esa razón he tenido que reiniciar el vídeo. 98 00:07:05,850 --> 00:07:20,040 Y si nosotros hacemos esto, nunca va a parar, porque no tenemos, como vamos a ver, no tenemos ningún operador que añadir que diga que pare esto, no puede ser. 99 00:07:21,259 --> 00:07:24,620 Pero sí que podemos hacer otra cosa. 100 00:07:26,240 --> 00:07:34,779 Vamos a darle al control, vamos a darle a variables, quiero que desaparezca, veis que no tenemos aquí ningún stop, ¿vale? 101 00:07:34,779 --> 00:07:36,779 No tenemos ningún punto 102 00:07:36,779 --> 00:07:38,860 Y no hay ningún operador que sea 103 00:07:38,860 --> 00:07:41,319 Cuando reciba el mensaje de game over 104 00:07:41,319 --> 00:07:42,540 ¿Ok? 105 00:07:44,040 --> 00:07:45,579 Entonces lo que tenemos que hacer es 106 00:07:45,579 --> 00:07:47,420 Cuando yo reciba game over 107 00:07:47,420 --> 00:07:48,620 Quiero que desaparezca 108 00:07:48,620 --> 00:07:50,379 Ya os diré por qué 109 00:07:50,379 --> 00:07:53,629 Y lo que quiero 110 00:07:53,629 --> 00:07:57,509 La clave va a estar en esto 111 00:07:57,509 --> 00:07:57,550 En esto 112 00:07:57,550 --> 00:08:01,990 Vamos a añadir 113 00:08:01,990 --> 00:08:03,790 Lo podemos añadir tanto en el gato como en la variable 114 00:08:03,790 --> 00:08:05,170 Nos va a dar igual, yo voy a poner el gato 115 00:08:05,170 --> 00:08:17,269 que sí ya está contando veis que ya está contando vale pues yo recibo game over así 116 00:08:17,269 --> 00:08:24,269 en 16 recordad cuando yo la vuelva a enseñar va a haber seguido contando y yo no quiero que 117 00:08:24,269 --> 00:08:32,710 sea contando para eso está esto este comandito de aquí lo que hace es parar el resto de los scripts 118 00:08:34,269 --> 00:08:35,590 de todos los personajes 119 00:08:35,590 --> 00:08:42,330 es importante que lo pongamos para que deje de contar 120 00:08:42,330 --> 00:08:45,090 y ya está 121 00:08:45,090 --> 00:08:48,250 en el siguiente vídeo vamos a diseñar 122 00:08:48,250 --> 00:08:49,509 la pantalla de final de juego 123 00:08:49,509 --> 00:08:52,309 donde nos van a informar de la puntuación 124 00:08:52,309 --> 00:08:58,389 y ya nos quedará los toques finales 125 00:08:58,389 --> 00:08:59,429 que es añadir la música 126 00:08:59,429 --> 00:09:00,950 ¡Hasta pronto!