Scratch 3.0 - Movimiento del objeto y control de su posición
1. Scratch 3.0 – Movimiento
Ejercicio 1
1. Crea un proyecto en Scratch con el nombre GatoScratch. Aparecerá la siguiente ventana con el objeto
que adopta la figura de un gato, el cual siempre aparece por defecto cuando se crea un proyecto.
2. En la pestaña Código aparecen diferentes categorías. En este ejercicio nos vamos a centrar en las
primeras. Vamos a practicar con los bloques de movimiento (incluidos en la categoría Movimiento, de color
azul), los cuales nos permiten controlar la posición y la dirección del objeto, siendo posible moverlo,
desplazarlo o girarlo.
En Scratch todos los objetos constan de un conjunto de propiedades cuyos valores pueden establecerse
de inicio (antes de ejecutar el programa), y éstos pueden sufrir cambios durante la ejecución del programa.
En la siguiente figura se ilustran las propiedades del objeto que representa nuestro gato:
• Objeto: esta propiedad especifica el nombre del Objeto, en este ejercicio le puedes llamar Objeto1
o ponerle el nombre que desees
• Tamaño: tamaño de la figura (modificable)
• Mostrar: Puedes configurarla para que el objeto aparezca o desaparezca
• X e Y: Las coordenadas X (el eje horizontal corresponderá a los valores de la X) e Y (eje vertical
que corresponderá con los valores de la Y) permiten definir la posición del objeto en la zona
Escenario. Si el objeto se mueve, dicha posición cambiará (los valores de X e Y serán distintos)
2. • Dirección: Permite especificar la dirección en la que el objeto se va a mover, por defecto es 90º,
con lo cual si dicho valor no se cambia la figura siempre se desplazará de forma horizontal por el
eje de la X.
Si deseamos mover el objeto una serie de pasos (por ejemplo, diez) en una dirección determinada,
horizontal o verticalmente, podemos utilizar la instrucción Mover:
Para ello arrastramos dicho bloque a la zona de la derecha, en la cual se van utilizar todos los bloques que
vamos a emplear para codificar el programa. En la siguiente figura se muestra el resultado de hacer click
en dicho bloque, cada vez que se haga click el valor de la propiedad X se irá incrementando de diez en
diez en la misma horizontal:
3. Vamos ahora a utilizar un fondo existente para nuestro escenario, que nos va a permitir comprender como
se sitúan los objetos en Scratch. Vamos a Escenario, hacemos click en Elegir un Fondo.
3. A continuación, salta la ventana Elige un Fondo, debemos pulsar en Xy-grid:
El resultado de aplicar dicho fondo se ilustra abajo, como se puede comprobar el personaje se ubica en la
posición central del escenario (valores X=0 e Y=0), formando un plano de dos dimensiones. El valor de X
variará desde -240 hasta 240, y el de Y desde -180 hasta 180.
4. Haz click en la figura Objeto1 que aparece en la ventana Propiedades. Arrastramos el bloque Mover, y lo
configuramos que la figura avance diez pasos por el Eje de la X. Debes comprobar que la dirección es 90º
y que el objeto ocupe la posición X=0 e Y=0.
4. 5. Ahora haz click diez veces en la instrucción mover diez pasos, la cual suma diez posiciones a la posición
actual del objeto (dicho valor se puede consultar en las propiedades X e Y del objeto).
Si todo ha ido bien el objeto debe haberse desplazado hacia la posición X=100 e Y=0, tal como se ilustra
en la figura de abajo. Se aprecia visualmente que el gato se ha desplazado 100 pasos a la derecha y en el
eje horizontal, además el valor de X es 100 en las propiedades del objeto:
6. Vamos a cambiar el valor Dirección a 45º. Hacemos click diez veces en el bloque Mover 10 pasos. El
objeto se ha trasladado hacia la posición (X=171 e Y=71) en un ángulo de 45º, tal como ilustra la figura de
abajo:
5. 7. En la pestaña Código, ve a la categoría Eventos y emplea el bloque Al hacer Click en la Bandera.
Cuando hacemos click en la bandera verde que figura en nuestro proyecto este evento permite
desencadena la ejecución de todas las instrucciones que incluya abajo:
8. Al bloque anterior le adherimos el bloque Ir a X e Y, tal como se ilustra abajo. Como se puede comprobar
la figura actualmente está ubicada en la posición X=171 e Y=71. Esta instrucción posiciona el objeto en los
valores especificados en las coordenadas X e Y, en este ejemplo X=0 e Y=0.
Hacemos click en la bandera verde para ejecutar el algoritmo. El gato regresa a la posición (0,0) y en la
dirección de 45º, tal como aparece en las propiedades del objeto.
6. 9. También es posible que el objeto se ubique en una posición al azar con la instrucción
La figura siguiente ilustra el resultado de ejecutar los bloques de la izquierda: de la posición inicial X=0,
Y=0 se ha pasado a X=-42, Y=-1. También es posible especificar que el objeto se sitúe en la posición del
puntero del ratón con el bloque
10. Existen otras instrucciones que permiten modificar la posición actual del objeto, o bien incrementando el
valor actual de las coordenadas X e Y, o estableciendo directamente un valor para cada coordenada. En el
siguiente algoritmo se incrementa el valor inicial de X e Y en 100 pasos, de la posición (0,0) pasa a la
(100,100). Dos segundos mas tarde la posición se actualiza a las nuevas coordenadas (-100,-100).
7. 11. La instrucción Deslizar permite desplazar el Objeto suavemente a una posición determinada en un lapso
de tiempo específico. En el siguiente código el gato se mueve desde la posición (X=0,Y=0) hasta la
ubicación (-100,-100) en un segundo. Prueba a incrementar dicho lapso de tiempo para verificar el efecto
que produce: el objeto se moverá mas despacio.
La opción Posición aleatoria permite desplazar el objeto a una ubicación al azar. En el siguiente código el
gato se mueve desde la posición (X=0,Y=0) hasta la ubicación (-84,-87) durante tres segundos.
También es posible mover la figura hacia la posición del puntero del ratón mediante la opción Puntero del
ratón, u a otro objeto distinto si éste estuviera definido.
8. 12. Si deseamos rotar el objeto una serie de grados podemos utilizar los bloques Girar a la derecha o
izquierda. Añadimos el bloque girar a la derecha 45º al algoritmo anterior. Hacemos click en la bandera
verde para ejecutar el programa, y el gato ha girado 45º a la derecha, con lo cual la dirección actual
cambiaría hacia el valor 90º.
13. El bloque apuntar en dirección permite que el objeto apunte hacia un ángulo o dirección concreta. Ejecuta
el fragmento de código de abajo. Comprobarás que el gato se ha movido 100 pasos en la dirección 0º, es
decir, por el eje vertical Y.
9. 14. Modifica el código anterior para que la figura se sitúe en las coordenadas (0,-100):
15. La instrucción Si toca un borde, rebotar detecta si el objeto está tocando uno de los cuatro bordes del
escenario. En caso afirmativo gira el Objeto en sentido contrario. En la siguiente figura se observa la
ejecución de los bloques situados a la izquierda. La figura rota cuando alcanza el borde de la derecha del
escenario, en la posición (240,0). Un segundo después regresa a la posición (0,0) pero ya invertida. Es
posible rotar la figura en la propiedad Dirección del objeto, o de forma programática.
10. 16. Para establecer el estilo de rotación de la figura es posible hacerlo desde las propiedades del objeto.
Hacemos click en Dirección, podemos elegir que rote de forma completa (opción a la izquierda), sólo de
izquierda a derecha (icono del centro), o que no rote. Para que en el ejercicio anterior el gato no gire de
forma invertida vamos a elegir la opción de rotar de izquierda a derecha (icono central).
Resultado de ejecutar el algoritmo después de aplicar la configuración anterior: la figura ya no queda
invertida (no girará en todas las direcciones), es decir, ha rotado a la izquierda en la dirección especificada
justo en el momento de colisionar con el borde derecho.
También es posible especificar el estilo de rotación desde el código mediante la instrucción Fijar estilo de
rotación, en este caso se elige la opción de izquierda a derecha, obteniendo el mismo resultado.
11. 17. Existen instrucciones que permiten consultar la posición (el valor de las coordenadas X e Y) y dirección del
objeto actual (0=arriba; 90=derecha; -90=izquierda; 180=abajo). Para activarlas se marca el check situado
a su izquierda, tal como se indica en la figura de abajo.
12. Posición y dirección de la figura antes de ejecutar el algoritmo:
Posición y dirección de la figura después de ejecutar el algoritmo. Se observa cómo sus valores han
variado: