Ahora, traigamos la pelota. Importa el sprite de la biblioteca como lo hiciste para el avión. Hay tres tipos de pelota; nuestro favorito es el baloncesto. Puedes elegir cualquier bola que te guste. Asegúrate de cambiar el nombre del objeto a Bola .
Ahora, escribamos su guión; asegúrese de que el objeto de la bola esté seleccionado. El guión va a ser un poco largo y complicado porque debemos hacer que la pelota rebote, pero no es tan difícil. ¡Empecemos!
- En primer lugar, arrastre y suelte el bloque cuando recibo () y configure el nuevo mensaje como Ball (en nuestro caso, Basketball ).
- A continuación, arrastrar y soltar el Ir a x: () y: () de bloque, y el conjunto de x y y como 240 y 0 respectivamente. Aquí 0 NO significa el suelo; y = 0 significa que la bola caerá desde la mitad de la altura del escenario.
- Luego, arrastre y suelte el bloque show debajo del bloque ir a x: () y: () .
- Ahora, queremos que la pelota rebote antes de ir directamente al suelo hacia el chico. Para eso, necesitamos rastrear la posición y la velocidad de la pelota. Para eso vamos a hacer cuatro variables; dos para la posición (vertical y horizontal) y dos para la velocidad (vertical y horizontal). Vaya a la paleta Datos y bloques y cree las siguientes cuatro variables: X , Y , XSpeed e YSpeed .
- A continuación, arrastre y suelte el bloque set () a () de la paleta Data & Blocks debajo del bloque mostrar . Seleccione X en el menú desplegable y en el segundo espacio escriba 240 . Hemos escrito 240 aquí porque esta es la posición actual de la bola en la dirección X.
- Ahora, nuevamente arrastre y suelte el bloque set () a () . Esta vez, seleccione Y en el menú desplegable y en el segundo espacio escriba 0 . Esta es la posición actual de la bola en la dirección Y.
- Repita el paso 6 dos veces más para XSpeed e YSpeed . En el bloque set () a () para XSpeed , escriba -30 en el segundo espacio, y en el bloque set () a () para YSpeed , escriba 0 en el segundo espacio. Aquí, -30 significa esencialmente que la bola se moverá 30 unidades en un segundo hacia la izquierda en la dirección X. Dado que YSpeed es 0 , esto significa que la bola se moverá solo en la dirección X, es decir, horizontalmente.
- Ahora, arrastre y suelte el bloque repetir hasta () . En el espacio, arrastre y suelte el bloque () <() de la paleta Operadores ; arrastre y suelte el bloque de variables X en el primer espacio y escriba -240 en el segundo . Este bloque se asegurará de que el script deje de ejecutarse cuando X <240 .
- A continuación, arrastre y suelte el bloque cambiar () por () dentro del bloque repetir hasta () . Desde el menú desplegable, seleccione X y en el segundo espacio arrastre y suelte el bloque de variable XSpeed . Aquí estamos cambiando la posición en una cantidad igual a la velocidad porque XSpeed , como se dijo antes, es la distancia que recorre la bola en un segundo. por lo tanto, cada segundo, la posición de la pelota en la dirección X se reduce en una cantidad igual a la velocidad en la dirección X.
- Arrastre y suelte otro bloque de cambio () por () debajo del bloque de cambio () por () anterior . Esta vez, seleccione YSpeed en el menú desplegable y en el segundo espacio arrastre y suelte el bloque () * () . En el primer espacio del bloque () * () escriba -15 y en el segundo espacio escriba 1 . Sabemos que a medida que la bola cae desde una altura, su velocidad en la dirección Y comienza a aumentar, aunque al principio no tiene velocidad en esa dirección. Este bloque se encarga de lo mismo.
- Nuevamente, arrastre y suelte otro bloque cambiar () por () . En el menú desplegable, seleccione Y y en el segundo espacio arrastre y suelte el bloque variable YSpeed . La lógica es la misma que la del paso 9 .
- Ahora, arrastre y suelte el bloque si debajo del tercer bloque cambiar () por () . Seleccione Y en el menú desplegable y en el segundo espacio, arrastre y suelte el bloque () <() ; en el primer espacio, arrastre y suelte el bloque variable Y y en el segundo espacio escriba -120 . Dentro del bloque si , arrastre y suelte el bloque set () a () ; en el menú desplegable, seleccione Y y en el segundo espacio escriba -120 . Este bloque asegura que el valor de Y NO va más allá de -120, que es el nivel del suelo o el sendero en el fondo de nuestra escuela.
- A continuación, arrastre y suelte el bloque deslizar () segundos ax: () y: () debajo del bloque si . Establezca el número de segundos en 0,1 . En el espacio junto a x, arrastre y suelte el bloque de variable X , y en el espacio junto a y arrastre y suelte el bloque de variable Y.
- Ahora, arrastre y suelte otro bloque si . En su espacio en forma de diamante, arrastre y suelte el bloque () = () . En el primer espacio de este bloque, arrastre y suelte el bloque variable Y y en el segundo espacio escriba -120 .
- Dentro del bloque si , arrastre y suelte el bloque set () a () , y desde el menú desplegable seleccione YSpeed ; en el segundo espacio, arrastre y suelte el bloque () / () . En el primer espacio de este bloque, arrastre y suelte el bloque () – () y su segundo espacio escriba 1.4 . En el primer espacio del bloque () – () escriba 0 , y su segundo espacio arrastre y suelte el bloque variable YSpeed. Ahora, este bloqueo de if asegura que, si la pelota llega al nivel del suelo, es decir, Y = 120, entonces debería recuperarse; pero debido a que no debe alcanzar la misma altura, dividimos el valor entre 1.4 .
- El script dentro del bloque repetir hasta () se ejecuta hasta que el valor de X es mayor o igual a -240 . Una vez que sea inferior a -240 , el script ya no se ejecutará. ¿Por qué? Porque X = -240 significa que la bola ha llegado al extremo izquierdo de la pantalla. Esto también significa que el niño evitó con éxito la pelota. Por tanto, la puntuación debería aumentar. Por lo tanto, fuera del bloque repetir hasta () , arrastre y suelte el bloque cambiar () por () ; en el menú desplegable, seleccione Score y en el segundo espacio escriba 1 .
- Por último, arrastre y suelte el bloque ocultar debajo del bloque cambiar () por () para que la bola desaparezca.
A continuación se muestra el guión completo: