2. Empezando a manejar Scratch
- Empezando a manejar Scratch
- Bloques
- Objetos, Disfraces y Fondos
- Programas y Movimiento
- Lápiz y Sonido
- Control: condiciones
- Control: repeticiones o bucles
- Mensajes
- Variables
- ¡El primer juego!
Empezando a manejar Scratch
En este bloque de contenidos vamos a empezar a usar Scratch. Se avanzará de forma progresiva, mostrando poco a poco las posibilidades que ofrece, e ¡incluso acabaremos consiguiendo realizar un juego de ordenador! ¿es fácil y posible? ¡sí!, ¡y se puede conseguir en muy poco tiempo!
Bloques
Scratch dispone de un buen número de bloques. En el presente curso sólo vamos a estudiar y utilizar un subconjunto de ellos, serán lo suficientemente significativos para que aprendáis a utilizar Scratch de una forma completa y os permitirá tener una base para que vosotros mismos probéis el funcionamiento de otros bloques.
Si os gustaría tener información sobre todos los bloques impreso, os recomendamos esta guía de Eduteka donde aparece descrito lo que hace cada bloque: http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf#page=15
Actividad: Moviendo los bloques
Continuamos con el proyecto que ya funciona. Haz que en vez de 10 pasos, avance 50: Para ello haz clic en el número 10, borra con el teclado el 10 y escribe 50, y pruébalo de nuevo.
Manejando bloques: Observarás que los bloques en la zona del programa se pueden mover.
- Si mueves el bloque naranja "Al presionar bandera", se arrastrará también el bloque azul "mover 50 pasos".
- Si mueves el bloque azul "mover 50 pasos", se desencajará del bloque superior.
Los bloques se quedan enlazados, y cuando arrastremos un bloque, con él se moverá todo lo que esté debajo de él, pero se desprenderá de sus bloques superiores.
A continuación del bloque azul "mover 50 pasos", añade el bloque "esperar 1 segundo", que está en el los bloques de Programas - Control.
Añade también varios bloques azules más, de forma que queden intercalados, tal y como se muestra en la siguiente imagen, y pruébalo. Para ello puedes utilizar Duplicar, una opción muy interesante que aparece al hacer clic con el botón derecho sobre un conjunto de bloques
Actividad: Borrando bloques
Para quitar un bloque (y todo lo que depende de él):
- Opción a: Arrástralo de nuevo a la zona de bloques de donde lo sacaste.
- Opción b: También puedes darle con el "Botón derecho del ratón - Eliminar bloque".
Para quitar un bloque que esté encajado en medio de otros bloques: desencájalo de arriba, desencájale todo lo que tiene abajo, elimínalo, y encaja los bloques superiores con los inferiores. En la siguiente imagen se muestra cómo poder borrar el bloque "mover 50 pasos" que está en el medio:
DESHACER BORRADO: Si borras un bloque o un conjunto de bloques entero, puedes recuperar lo último que has borrado en el menú Editar - Recuperar borrado.
Objetos, Disfraces y Fondos
Actividad: OBJETOS
Un nuevo proyecto viene con un objeto: es un Gato. Se puede cambiar el nombre al objeto, dándole con el Botón derecho - Info y luego cambiándole el nombre en el recuadro.
Añade un nuevo objeto desde la biblioteca de objetos, en concreto el objeto "Dog1". Está en la categoría Animales.
Actividad: DISFRACES
Cada objeto puede tener muchos disfraces. El Gato por defecto viene con 2 disfraces. Podemos añadir un nuevo disfraz a un objeto.
Añade un nuevo disfraz al objeto Gato: Primero haz clic en el objeto Gato. luego añade el disfraz Cat2 al objeto Gato desde la biblioteca de disfraces.
También podemos borrar disfraces: Borra el disfraz que acabas de añadir.
Actividad: ESCENARIO
El escenario en Scratch se comporta como un objeto más, que puede tener programas asociados (aunque obviamente sin algunos bloques como por ejemplo el de movimiento) disfraces (aquí llamados fondos) y sonidos.
Inicialmente el escenario es blanco. Podemos tener preparadas varias imágenes que podemos hacer que sean el fondo del programa.
Añade un fondo de la biblioteca de fondos, por ejemplo el fondo "blue sky".
Programas y Movimiento
Actividad: Añadir otro programa
Si ya has trasteado mucho, cada vez que lo necesites, puedes volver a empezar un nuevo proyecto en blanco. Dale a menú Archivo - Nuevo para iniciar un nuevo proyecto, o también puedes ir borrando lo que ya no necesites.
Vamos a añadir que al presionar la tecla "a", el objeto se gire 90 grados:
- Habrá que utilizar un bloque de Eventos, en concreto el bloque "al presionar tecla espacio" Pongo en cursiva espacio porque lo podremos cambiar. Haciendo clic en "espacio", podremos cambiarlo por "a".
- Se necesita también el bloque de Movimiento "mover 10 pasos". Haciendo clic en el 10, podríamos ponerle 100 para que avance más.
Observad que hay 2 programas en la zona derecha. Cada objeto puede tener varios programas, que funcionan de forma paralela.
IMPORTANTE: Los programas se identifican por empezar con un bloque de "Eventos" cuya parte superior es ovalada.
Caso práctico
El objeto se mueve en la dirección en la que apunta. Hay un bloque que hace que el objeto apunte a otra dirección:
Haz que el objeto se mueva según las flechas de teclado.
Solución
Caso práctico
La posición de un objeto se controla con coordenadas X e Y. La posición de estas coordenadas en la pantalla es la siguiente:
Esta imagen es un Fondo que ya está creado en Scratch, y que puedes añadir a tu proyecto.
Añade este programa.
¿Qué hace este programa?
Solución
Este programa mueve el objeto a la zona inferior derecha de la pantalla cuando se presiona la tecla b.
Lápiz y Sonido
Lápiz
Los bloques de Lápiz sirven para dejar una estela por donde el objeto se mueva. Para que deje la estela dibujada, es necesario añadir el bloque "bajar lápiz" previamente al movimiento. Cuando terminemos de pintar, habrá que poner el bloque de "subir lápiz" para que al volver a mover el objeto ya no pinte. Será posible pintar con distintos colores y grosores. El bloque "borrar" sirve para borrar todo lo pintado. Podemos poner un Programa que al darle a la tecla "b" borre todo. Puedes probar a poner estos bloques para que veas su efecto:
¿Dónde está la instrucción lápiz?
Antes estaba por defecto, ahora tienes que añadirlo como extensión
Sonido
Los bloques de Sonido sirven para reproducir sonidos en algún momento de nuestro programa. Cada objeto viene con un sonido predeterminado. Pero nosotros mismos podemos grabar o añadir música que ya tengamos en nuestro ordenador:
Caso práctico
Haz un programa que muestre el camino por donde se ha movido el gato. Añade que suene un "miau" después de haber pintado la línea.
Solución
Música
Además de los bloques de sonido, Scratch también dispone de un conjunto de bloques para añadir música en nuestros programas
¿Dónde está la instrucción de música?
Antes estaba por defecto, ahora, igual que el lápiz, hay que añadir la extensión Música
Estos bloques los necesitarás para contestar una de las preguntas de los cuestionarios del curso.
Agradecimientos a Paola García @paolagarab
Control: condiciones
Las condiciones son un tipo de bloques que evalúan algo, y si es cierto, entonces se arrancan los bloques que tiene dentro anidado.
Añade estos bloques y pruébalos dándole a la bandera. Los bloques verdes están en el menú operadores. Los bloques morados en el menú Apariencia.
En estos bloques se comprueba que 2+3=5, y como es cierto, entonces el gato dice "SUMA CORRECTA". Si cambias el 5 por cualquier otro valor, por ejemplo 6, la condición de 2+3=6 es falsa, y el gato dice "Hmmm... algo va mal".
Caso práctico
Vamos a crear un programa que haga que el gato maulle cuando toque el borde del escenario. Para ello, en el menú Sensores, usaremos el bloque ¿tocando?
Solución
Primero hay que crear los bloques que comprueben si estamos tocando el borde, y entonces maullar:
Una posible solución donde añadir la comprobación de tocar el borde, es añadirlo justo después de mover el gato en todas las direcciones.
Control: repeticiones o bucles
Caso práctico
Para empezar a entender qué son las repeticiones, haz un programa que dibuje dos líneas discontinuas.
Solución
Puedes duplicar los bloques (botón derecho - duplicar) para no tener que construir dos veces lo mismo.
¿Y si hubiera que pintar muchas líneas? Es decir, repetir lo mismo muchas veces. Entonces hay que añadir un bloque de control para hacer repeticiones. Las repeticiones también se llaman "bucles". Es posible añadir 3 tipos de bucles:
- Se repiten constantemente, por siempre.
- Se repiten un número de veces concreto
- Se repiten hasta que se cumple una condición
Caso práctico
Haz un programa que dibuje 10 líneas discontinuas seguidas.
Solución
Caso práctico
Haz un programa que dibuje un cuadrado.
Solución
Hay dos soluciones posibles de dibujar el cuadrado utilizando el bloque de repeticiones. A continuación se muestran los dos programas posibles. Con que construyas uno de ellos ya tienes la solución. Los bloques de subir y bajar lápiz pueden estar dentro o fuera del bloque de repetición, en este ejemplo el resultado será el mismo, si bien es más eficiente a efectos de código el de la izquierda puesto que no ejecuta las instrucciones bajar y subir lápiz de forma innecesaria.
Caso práctico
Haz que el gato vaya cambiando de disfraz constantemente. Añade un retardo de 1 segundo para que el cambio de disfraz sea algo más lento.
Solución
Mensajes
Podemos comunicar dos programas ya sean dentro del mismo objeto o entre diferentes objetos o con el escenario a través del envío de mensajes. Se puede enviar un mensaje desde un programa de un objeto a otro, para hacer en él alguna acción. Estos bloques se encuentran en "Eventos".
Caso práctico
Vamos a hacer que cuando el gato toque al perro, enviemos un mensaje desde un programa del gato hasta un programa del perro. Cuando el perro reciba el mensaje, lo cambiaremos de posición, a una posición aleatoria.
Solución
Al presionar Bandera, si el objeto Gato toca al perro (Dog1), envía un mensaje.
Programa a añadir en el gato.
Ese mensaje lo recibimos en el objeto Dog1, y hacemos que el perro se mueva a una posición aleatoria en pantalla.
Programa a añadir en el Perro:
Variables
Las variables las podemos entender como un "nombre" que contiene un "valor". Podremos asignar un valor a la variable. Y podremos recuperar el valor de la variable. Al crear una variable, aparecen los bloques de control de las variables, en "Variables".
Caso práctico
Crea una variable y ponle de nombre PUNTOS
Solución
Las variables como has visto se pueden crear para que sean reconocibles y utilizables por todos los objetos, o solo para un objeto determinado. El primer caso es lo habitual, si bien en casos como variables contador puede no ser necesario que sean globales si solo van a ser utilizadas por un único objeto.
Vamos a añadir algo más de complejidad.
- Haz que al iniciar el juego se ponga el valor de PUNTOS a 0. Este programa se lo puedes poner al escenario o a cualquiera de los objetos que tengas definido.
- Haz que al presionar la tecla "p" se incremente en 1 el valor de PUNTOS. Puede ir en cualquier objeto.
- Haz que al hacer clic encima del Gato, el gato diga el valor de PUNTOS. Este programa tiene que ir en el objeto Gato.
Solución
¡El primer juego!
Caso práctico: ¡Vamos a hacer el primer juego!
Con todo lo que hemos visto, ya tenemos todos los ingredientes para hacer un sencillo juego.
Moveremos el gato con las flechas del teclado. el gato cambiará de disfraz para parecer que va andando.
Hacer que cuando el gato toque al perro, el perro se mueva a una posición aleatoria y ladre.
Solución
En una actividad anterior hemos visto que el bloque "Si....entonces" lo podemos añadir por cuatro veces después de presionar cada tecla. En esta solución se muestra cómo poner estos bloques sólo una vez en un programa independiente dentro de la programación del Gato. Es necesario añadir el bloque "por siempre" para que se esté constantemente comprobando si el gato toca al perro.
Programación del Gato:
Programación del Perro: