1 00:00:00,370 --> 00:00:09,890 Cuatro minutos con Félix. Programación, tecnología, robótica, aulas virtuales, actividades y recursos para trabajar en primaria. 2 00:00:10,429 --> 00:00:15,650 Hola, buenos días. Estamos trabajando con Scratch y vamos a hacer una animación. 3 00:00:15,869 --> 00:00:18,309 Pues fijaros qué fluido va nuestro objeto. 4 00:00:19,410 --> 00:00:22,670 Y luego no podemos atravesar lo que serían las paredes. 5 00:00:22,670 --> 00:00:31,589 Y cuando chocamos con una pared, pues no se nos queda enganchado, sino que puede seguir moviéndose, evitando los cambios. 6 00:00:31,890 --> 00:00:33,509 La verdad que muy bien preparado. 7 00:00:33,750 --> 00:00:42,850 Nos estamos basando, la verdad que lo explica muy bien, en estos videotutoriales de Grispad, que lo hace estupendísimamente. 8 00:00:42,990 --> 00:00:47,549 Tiene cuatro dedicados concretamente a esto y estamos hablando del primero. 9 00:00:47,549 --> 00:00:52,549 Pero aquí tenéis, lo explica muy bien y además que lo hace estupendísimamente. 10 00:00:52,670 --> 00:01:12,430 Entonces más o menos hemos seguido todos sus pasos y luego pues hemos hecho algunas adaptaciones como él sugiere que se haga porque la verdad que esto abres el movimiento y luego lo que vamos a hacer es que nosotros mismos pues luego lo vamos a adaptar a los programas que quedamos. 11 00:01:12,430 --> 00:01:19,430 Vamos a ver el código, aquí ya estamos viendo que vamos a tener dos objetos, esto ya lo hemos aprendido antes con las plataformas. 12 00:01:20,310 --> 00:01:28,750 Siempre este tipo de escenarios los hacemos como objetos, tenemos un jugador y este escenario. 13 00:01:28,870 --> 00:01:38,049 El escenario fundamental que esté cerrado por todos los lados, porque luego en siguientes videotutoriales nos enseña a lanzar como un rayo. 14 00:01:38,049 --> 00:01:42,310 Entonces si está abierto sale nuestro rayo y ya tenemos problemas. 15 00:01:42,430 --> 00:01:52,670 Lo cerramos y bueno, pues lo vamos generando con los círculos, con los rectángulos, los cuadrados y bueno, pues ya vemos que no lo puede atravesar. 16 00:01:52,829 --> 00:02:02,109 Aquí nos fijamos, no lo atraviesa, pero tampoco se queda enganchado, sino que va moviéndose y podemos conseguir que no se atasque. 17 00:02:02,489 --> 00:02:06,849 Y luego además tenemos este movimiento lateral, pues que lo hace bastante interesante. 18 00:02:06,849 --> 00:02:17,650 Bueno, por un lado hacer nuestro disfraz, importantísimo que esté cerrado y su código es muy sencillo, lo único que hacemos es centrar, para que esté centrado. 19 00:02:18,030 --> 00:02:35,830 Ahora nos vamos a nuestro jugador. En nuestro jugador, bueno, pues lo colocamos en el centro, le decimos que fijamos el estilo de rotación en todas las direcciones para que podamos hacer esto y le orientamos 45 grados, apuntar en dirección 45. 20 00:02:35,830 --> 00:02:43,629 Y ahora ya empezamos con lo que sería el movimiento. Esto sería el empiece inicial, pues también el tamaño, muy importante. 21 00:02:43,830 --> 00:02:56,330 Cuando hacemos el disfraz nos vamos a hacer muy grandes los píxeles para hacerlo nosotros pequeñitos y no tenemos que andar con fijar el tamaño en apariencia. 22 00:02:56,330 --> 00:03:05,469 Bueno, pues le damos, hacemos el disfraz, nos vamos a tamaño mucho zoom para hacerlo bien pequeño, 23 00:03:05,650 --> 00:03:10,349 para, bueno, bien pequeño, vaya, si queremos que recorra todo, pues tiene que ser así. 24 00:03:10,849 --> 00:03:15,330 Y nos evitamos irnos a apariencia y fijar tamaño a un tanto. 25 00:03:15,650 --> 00:03:17,729 Bueno, pues nos vamos a un por siempre. 26 00:03:17,889 --> 00:03:20,409 Y aquí vamos a ver estos dos giros. 27 00:03:20,409 --> 00:03:27,650 Pues tenemos la flecha izquierda que giramos en sentido contrario a las agujas del reloj 28 00:03:27,650 --> 00:03:31,969 y flecha derecha giramos sentido del reloj. 29 00:03:31,969 --> 00:03:36,550 Muy importante, sobre todo cuando queramos luego hacer nuestro desplazamiento. 30 00:03:39,539 --> 00:03:40,180 Siguiente. 31 00:03:40,860 --> 00:03:47,240 Y le hemos dado 3 grados, o sea, tampoco mucho, pero sí que nos permite ver esos giros 32 00:03:47,240 --> 00:03:53,099 y nos permite conducirlos de una manera muy sencilla, evitando obstáculos. 33 00:03:54,740 --> 00:04:00,879 Bueno, ahora vamos a lo que sería ir hacia adelante o hacia atrás. 34 00:04:00,879 --> 00:04:05,580 Y para eso ya hemos tenido que fijar un bloque, que lo hemos llamado Step. 35 00:04:05,719 --> 00:04:11,560 Para fijar bloque recordamos crear bloque que le nombramos, en este caso Step, 36 00:04:11,560 --> 00:04:22,420 Pues porque, y repito, que lo estamos haciendo siguiendo a este youtuber, que la verdad que lo hace estupendísimamente, bueno, mira la cantidad de seguidores que tiene. 37 00:04:22,939 --> 00:04:37,879 Y bueno, pues hemos seguido con sus mismos nombres, porque alguna vez yo lo traducía y luego cuando el autor hace algún código, algún tal, luego no encuentro cuál es el mío, cuál es el suyo, así que uso los que tiene él. 38 00:04:37,879 --> 00:04:48,139 y lo ha llamado move y le crea este step mira vamos a hacerlo de nuevo crear move y le damos 39 00:04:48,139 --> 00:04:56,220 aquí añadir entrada y la vamos a llamar step voy a llamar con otro para que no sea como la 40 00:04:56,220 --> 00:05:07,779 que tengo y ya ahí la tenemos vemos aquí es esta misma move y step eliminamos y una vez que lo 41 00:05:07,779 --> 00:05:15,860 hemos creado, aquí nos estábamos moviendo, pero tenía el problema de que llegaba y se quedaba 42 00:05:15,860 --> 00:05:23,379 atascado dentro de nuestros obstáculos. Entonces lo que hemos creado es un hitbox, que es este cuadradito 43 00:05:23,379 --> 00:05:33,980 mucho más pequeño que este, que está dentro del triángulo y es el que no nos va a dejar entrar en las paredes. 44 00:05:33,980 --> 00:05:40,779 Y luego nos permite también luego que nuestro objeto siga girando y salga de los problemas. 45 00:05:40,980 --> 00:05:42,120 Mira, pues aquí lo tenemos. 46 00:05:44,480 --> 00:05:48,600 Ahí se ha quedado atascado, pero no nos deja movernos. 47 00:05:48,759 --> 00:05:52,040 Incluso si estamos así, nos deja movernos. 48 00:05:52,600 --> 00:05:56,560 Y eso es por este hitbox, que es un cuadradito de 4x4. 49 00:05:57,100 --> 00:06:03,060 Muy importante, 4x4 luego cuando el movimiento, porque no queremos salirnos de las paredes. 50 00:06:03,060 --> 00:06:04,620 Esto lo explica él muy bien. 51 00:06:04,620 --> 00:06:34,040 Pero bueno, nosotros ya hemos creado ese definir move con step, le decimos que vamos a hitbox, pero fijaros en la jugada, primero vamos como hitbox, este no nos permite rotar, sin embargo cuando salimos de aquí el jugador sí que le permite girar, nuestro triángulo ese sí puede girar, aún estando ahí pegado, sin embargo el hitbox no, no puede girar. 52 00:06:34,620 --> 00:06:40,759 Y luego, pues también ha hecho una cosa interesante, que es irse al seno y al coseno, 53 00:06:40,879 --> 00:06:43,959 que es lo que hace que se pueda mover así. 54 00:06:44,759 --> 00:06:51,939 Hemos cambiado nuestro movimiento, en vez de utilizar x e y, bueno, seguimos usando x e y, 55 00:06:52,319 --> 00:06:54,860 pero nos vamos al seno y al coseno. 56 00:06:54,860 --> 00:07:03,319 Y entonces, hemos cogido definir moveStep, ese move lo metemos aquí, 57 00:07:04,620 --> 00:07:11,500 para cuando tocamos la flecha derecha, no, cuando damos a la flecha arriba o la flecha abajo, 58 00:07:11,759 --> 00:07:15,560 vamos hacia abajo, la flecha arriba, vamos hacia arriba. 59 00:07:15,560 --> 00:07:20,319 Voy a ponerlo en un sitio que se vea bien, que sería un delante y un detrás. 60 00:07:21,439 --> 00:07:28,620 Pero luego también es verdad que se ha ido a estos nombres o estas teclas que se suelen usar, 61 00:07:28,620 --> 00:07:34,759 la W hacia arriba y la S hacia atrás. 62 00:07:34,939 --> 00:07:39,019 Ahora estoy tocando la letra S, ahora estoy tocando la letra W, 63 00:07:39,480 --> 00:07:43,199 que son las mismas que las flechas hacia adelante y las flechas hacia atrás. 64 00:07:43,699 --> 00:07:45,079 ¿Y aquí qué es lo que ha hecho? 65 00:07:45,800 --> 00:07:50,639 Crea el bloque, en este caso se llama Trimoo, 66 00:07:50,639 --> 00:07:56,750 crea el bloque y luego le añade dos entradas 67 00:07:56,750 --> 00:08:00,910 que es dx y otra que es di 68 00:08:00,910 --> 00:08:04,089 ahí lo tiene, pues aceptamos 69 00:08:04,089 --> 00:08:06,350 ya nos lo ha creado, que es este mismo 70 00:08:06,350 --> 00:08:09,990 vale, y le damos sumar a x, nos vamos a movimiento 71 00:08:09,990 --> 00:08:14,069 sumar a x y sumar a y 72 00:08:14,069 --> 00:08:16,889 lo tenemos aquí, sumar a x y sumar a y 73 00:08:16,889 --> 00:08:18,389 dx y di 74 00:08:18,389 --> 00:08:21,089 estamos concretamente con este 75 00:08:21,089 --> 00:08:24,430 Vamos hacia adelante y vamos hacia atrás. 76 00:08:24,990 --> 00:08:28,509 Ya le hemos puesto que se mueve dos pasos. 77 00:08:28,970 --> 00:08:32,889 Hemos quitado sumar a x, sumar a y, que sería eso. 78 00:08:33,049 --> 00:08:35,870 Pues le hemos puesto mover dos pasos. 79 00:08:36,370 --> 00:08:45,389 Pero ahora lo que estamos haciendo es que este try move, que vemos aquí que tiene su x y tiene su y, 80 00:08:45,850 --> 00:08:48,070 le hemos puesto el seno y el coseno. 81 00:08:48,070 --> 00:08:51,889 En el caso de X va con el seno 82 00:08:51,889 --> 00:08:53,669 ¿Y cuánto le hacemos mover? 83 00:08:54,190 --> 00:08:57,549 Pues le hacemos mover, mira, lo ha hecho aquí con una multiplicación 84 00:08:57,549 --> 00:09:01,230 Esto lo tendremos que recordar pues del bachillerato 85 00:09:01,230 --> 00:09:04,470 Tenemos una multiplicación, yo tengo este 86 00:09:04,470 --> 00:09:12,360 Y lo voy a multiplicar por el seno 87 00:09:12,360 --> 00:09:15,639 Y el seno nos tenemos que ir a los operadores matemáticos 88 00:09:15,639 --> 00:09:21,580 Y aquí nos vamos al seno 89 00:09:21,580 --> 00:09:22,960 Ahí tenemos el seno. 90 00:09:23,360 --> 00:09:25,759 Y el seno tiene que ser de un ángulo. 91 00:09:25,899 --> 00:09:28,559 Ese ángulo va a ser la dirección. 92 00:09:28,860 --> 00:09:31,059 Aquí lo tenemos, dirección. 93 00:09:32,440 --> 00:09:34,519 Voy a copiarla, duplicarla. 94 00:09:35,320 --> 00:09:35,879 Dirección. 95 00:09:36,519 --> 00:09:38,399 Y nos da siempre un ángulo. 96 00:09:39,279 --> 00:09:40,379 Nos da siempre un ángulo. 97 00:09:40,539 --> 00:09:41,340 Vamos a girar. 98 00:09:43,879 --> 00:09:45,480 ¿Ves? Siempre nos va dando un ángulo. 99 00:09:45,480 --> 00:09:48,460 Pero lógicamente un seno tiene que ser de un ángulo. 100 00:09:48,779 --> 00:09:50,679 Y ahí lo metemos. 101 00:09:50,679 --> 00:10:00,480 este por el seno del ángulo es lo que metemos en el eje X y el eje Y lo dejamos en 0. 102 00:10:01,500 --> 00:10:12,360 Y ahora duplicamos, nos vamos a este, lo sacamos, nos lo llevamos aquí a la dirección en Y 103 00:10:12,360 --> 00:10:19,080 y aquí le ponemos un 0. Uno lo hemos puesto en el eje X y el otro va en 0, el eje X 0, 104 00:10:19,080 --> 00:10:25,539 que aquí ya si no es el seno es el coseno de ese ángulo que es la dirección, la dirección siempre es un ángulo. 105 00:10:25,980 --> 00:10:34,700 Y con esto conseguimos que nuestro objeto cuando llegue a un obstáculo pues no se quede atascado 106 00:10:34,700 --> 00:10:40,899 sino que siga moviéndose por el objeto, no se queda atascado para nada. 107 00:10:41,980 --> 00:10:47,600 Es tan sencillo como llevarlo y lo metemos ahí, lo sacamos 108 00:10:47,600 --> 00:10:55,980 y entonces ya lo que hemos conseguido es que nuestro objeto vaya hacia adelante, vaya hacia atrás 109 00:10:55,980 --> 00:11:05,059 y luego hacemos esto que ya he dicho, si aquí cambia el disfraz a hitbox, luego hace esto para poder desplazarse 110 00:11:05,059 --> 00:11:12,139 pero luego volvemos a cambiar disfraz a player y fijar estilo de rotación en todas direcciones 111 00:11:12,139 --> 00:11:19,960 Entonces hemos tenido que añadir bloques para evitar que lo atraviese. 112 00:11:20,519 --> 00:11:35,100 Y lo conseguimos con esto. Hemos puesto try move de x de y y si tocando el level, que lo ha llamado level, el escenario, lo que hace es que suma x menos de x o suma y menos de y. 113 00:11:35,220 --> 00:11:41,080 Es decir, cuando choca se va para atrás y entonces ahí no se queda atascado. 114 00:11:41,080 --> 00:11:48,980 Ya tenemos nuestro movimiento, tanto girar, derecha e izquierda, como moverse delante o detrás. 115 00:11:48,980 --> 00:12:01,679 Y ahora viene este movimiento que tenemos con las letras A y con las letras D, que es, por así decirlo, izquierda y derecha. 116 00:12:02,720 --> 00:12:10,399 Aquí eso lo conseguimos con este giramos 90 hacia un lado, mirad, giramos 90 hacia allí, 117 00:12:10,399 --> 00:12:14,399 nos movemos dos y luego volvemos a girar 118 00:12:14,399 --> 00:12:17,259 esto como lo hace muy rápido, al final lo que hace es 119 00:12:17,259 --> 00:12:22,840 este movimiento a la izquierda 120 00:12:22,840 --> 00:12:25,840 y ahora para la derecha, pues ahora cambia 121 00:12:25,840 --> 00:12:30,039 ahora mira, gira hacia aquí, gira hacia este lado donde se va a desplazar 122 00:12:30,039 --> 00:12:34,159 se mueve dos y luego vuelve a su sitio y nos hace este 123 00:12:34,159 --> 00:12:38,639 con esta manera tan sencilla pues tenemos este movimiento horizontal y vertical 124 00:12:38,639 --> 00:12:40,720 que la verdad que nos ayuda mucho 125 00:12:40,720 --> 00:12:42,460 a la hora de mover nuestro objeto 126 00:12:42,460 --> 00:12:49,629 si se puede conducir así 127 00:12:49,629 --> 00:12:51,509 vamos, uy que bien va 128 00:12:51,509 --> 00:12:55,659 no es lo que queremos porque luego 129 00:12:55,659 --> 00:12:57,899 por la punta vamos a echar un rayo 130 00:12:57,899 --> 00:12:59,519 pero bueno, ahí lo tendríamos 131 00:12:59,519 --> 00:13:01,580 y este ha sido el 132 00:13:01,580 --> 00:13:03,740 código, que no digo que sea fácil 133 00:13:03,740 --> 00:13:05,840 que no digo que sea, pero la verdad 134 00:13:05,840 --> 00:13:07,940 que tampoco, que no lo explica 135 00:13:07,940 --> 00:13:09,919 muy bien, lo explica muy bien 136 00:13:09,919 --> 00:13:11,960 y que luego pues tiene su lógica 137 00:13:11,960 --> 00:13:13,720 tenemos estos movimientos de izquierda 138 00:13:13,720 --> 00:13:20,679 derecha delante detrás y luego lateralmente y hemos tenido que crear estos bloques que en 139 00:13:20,679 --> 00:13:28,179 estos bloques cuando los editamos mira este no lo hemos ejecutado al instante pero este si está 140 00:13:28,179 --> 00:13:35,080 ejecutado al instante entonces bueno nos va muy fluido recordad tenemos que crear estos bloques 141 00:13:35,080 --> 00:13:40,480 tenemos que tener en cuenta las flechas que dirigen a nuestro objeto y creamos un bloque 142 00:13:40,480 --> 00:13:45,480 y luego este otro bloque para evitar que se nos quede atascado. 143 00:13:45,799 --> 00:13:48,840 Bueno, pues este, o sea, para hacer carreras, 144 00:13:49,039 --> 00:13:52,159 si nosotros ahora duplicamos, podríamos tener dos objetos, 145 00:13:52,320 --> 00:13:53,399 uno persiguiendo a otro. 146 00:13:53,759 --> 00:13:59,120 La verdad que nos abre muchas posibilidades para hacer animaciones 147 00:13:59,120 --> 00:14:03,620 quizá no tan complicadas como esta, pero muy sencillas. 148 00:14:03,620 --> 00:14:08,179 Desde luego, tener un objeto que se pueda mover de esta manera por el escenario 149 00:14:08,179 --> 00:14:09,960 es muy útil. 150 00:14:10,480 --> 00:14:11,279 Y tan fluido. 151 00:14:11,740 --> 00:14:16,480 Y sobre todo que ya nuestro escenario no atraviesa esas paredes. 152 00:14:17,059 --> 00:14:18,879 Bueno, pues espero que le veáis utilidad. 153 00:14:18,980 --> 00:14:19,539 Muchas gracias.