Informática
Scratch

Tu Instituto Online
   


 
Nivel Básico Scratch: Eventos. Mensajes
Duración aproximada: 2 sesiones.
   
Objetivos Objetivos
  • Conocer los bloques de mensajes.
  • Utilizar mensajes para comunicar objetos.
   
Fuentes de información Fuentes de información
   
Contenidos
Contenidos
 

1. Mensajes entre objetos

A veces necesitamos que los objetos del juego se comuniquen entre sí, es decir que un objeto avise a otro u otros para que realicen alguna acción (mensajes) o bien que esa acción se realice en un determinado momento (eventos). Para realizar esto disponemos de los mensajes. Un objeto puede enviar un mensaje a todos los demás.

El envío y recepción de mensajes también nos ayuda a mantener una estructuración en nuestro programa. Cuando un programa crece, el poder separar conjuntos de bloques nos puede servir de ayuda. Estos mensajes no necesariamente han de enviarse de un objeto a otro distinto, pueden enviarse dentro del mismo objeto. Además, conviene recalcar que funciona como un evento, es decir que es independiente de la ejecución lineal del programa.

La sincronización de los procesos en Scratch puede realizarse de 2 formas:

1.1. Mediante instrucciones de espera

1.2. A través de mensajes

  • enviar "txt_mensaje". Se envía un mensaje "txt_mensaje" y seguimos ejecutando el bloque de código que sigue.
  • enviar "txt_mensaje" y esperar. Se envía el mensaje y, mientras no se ejecute en algún objeto que lo reciba, no se seguirá ejecutando el código desde donde lo enviamos.

1.2.1. Enviar un mensaje. Ejemplo práctico

Pasos para enviar un mensaje:

  • Ir al bloque enviar "txt_mensaje". Al desplegar la pestaña seleccionamos la variable o mensaje existente o generamos uno nuevo. Se nos abre un cuadro de diálogo y tecleamos el nombre del mensaje a enviar o variable.

  • Por último, hacemos clic en el botón OK.

A continuación se reproduce un ejemplo sencillo del funcionamiento de los mensajes entre objetos.

Objeto 1
Objeto 2

Al presionar la bandera verde, se envía el mensaje desde el objeto1 y se espera 5 segundos, que es lo que tarda en ejecutarse el código en el objeto2 (derecha) para seguir ejecutando los bloques girar, decir y fijar tamaño.

Cuando se reciba el mensaje mensaje1 enviado desde el objeto1, el objeto2 lo recibirá y mostrará en pantalla el texto correspondiente (bloque decir).

   
Ojo

Es recomendable escribir el nombre de mensaje con una sola palabra y que esté relacionada con el tema que estemos programando.

   
 

2. Ejercicios prácticos

A continuación vamos a realizar unos ejercicios prácticos de repaso de todos los contenidos vistos anteriormente.

   
Ejercicios
Ejercicio
 

2.1. Día y noche

Vamos a crear una animación con un sólo personaje en la que cada 5 segundos se cambia de escenario. Tendrás 2 escenarios: uno de día y otro de noche. El programa empezará siempre con el escenario de día.

Crear y guardar nuevo proyecto

  • Crea un nuevo programa.
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "prydianoche" y guárdalo en tu carpeta de "SCRATCH".

Añadir escenarios

  • En la pestaña Fondos, añade los escenarios de la galería predeterminada "city with water 2" y "city with water".
  • Borra el primer escenario en blanco.
  • Ve al primer escenario.

Iniciar programa

  • Haz que el programa empiece al hacer clic en el icono de la bandera verde.
  • Establece por defecto el escenario de la ciudad de día "city with water 2".
  • Utiliza la siguiente orden:

Escenario. Cambiar de día a noche y viceversa

El programa cambiará de escenario cada 5 segundos, de forma indefinida. Cuando sea de día, el personaje dirá por 2 segundos “ES DE DÍA” y cuando sea de noche “ES DE NOCHE”. Ayuda:

  • Ve al primer escenario.
  • Añade el bucle correspondiente. Además, tendrás que añadir a lo que ya tienes hecho:

  • Espera 5 segundos y cambia de escenario:

Personaje. Recibir mensajes y decir el texto

  • Ve al personaje del gato.
  • Tendrás que añadir:

Subir el proyecto

  • Sube el fichero "prydianoche.sb2" a la plataforma.
   
Ejercicios
Ejercicio
 

2.2. Bruja que sube y baja

En anteriores prácticas, hiciste que una bruja subiera por el escenario. Ahora vas a hacer una bruja que suba volando hasta el borde de arriba y cuando llegue, vuelva al borde de abajo y siga subiendo. Utiliza mensajes entre objetos.

Crear y guardar nuevo proyecto

  • Abre el proyecto realizado en prácticas anteriores "prybruja2.sb2".
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "prybrujacompleto" y guárdalo en tu carpeta de "SCRATCH".

Programar con mensajes

  • La bruja empezará en la parte inferior de la pantalla y enviará el mensaje "arriba". Ayuda:

  • Cuando el objeto bruja reciba el mensaje "arriba", comenzará a ascender hasta el límite superior y cuando llegue al límite, volverá a la posición inicial para seguir subiendo. Ayuda:

Añadir sonido

Vamos a añadir música de fondo a la bruja que sube y baja. Recuerda que la música ha de estar en formato wav para poderla importar al programa.

  • Descarga del portal el fichero del sonido. Haz clic con el botón derecho del ratón en el vínculo y elige la opción Guardar enlace como. DESCARGAR
  • Copia el sonido descargado a la carpeta del proyecto.
  • Importa el archivo de sonido:

  • Ve al escenario. Inserta el bloque de tocar sonido y elige el sonido descargado. El bloque se ejecutará después de hacer clic en la bandera verde.

Bruja que sube y baja

Vamos a modificar el programa para que la bruja suba y baje continuamente, en lugar de volver a la posición inicial y continuar subiendo.

  • Cuando el objeto bruja reciba el mensaje "arriba", comenzará a ascender hasta el límite superior y luego enviará el mensaje "abajo". Ayuda:

  • Programa el bloque que falta “Al recibir abajo".
  • Ejecuta el programa para verificar que la bruja sube y baja continuamente, mientras se escucha de fondo la música.

Subir el proyecto

  • Guarda los cambios.
  • Sube el fichero "prybrujacompleto.sb2" a la plataforma.
   
Ejercicios
Ejercicio
 

2.3. Pompas de jabón

En este ejercicio crearemos 8 pompas de jabón que vayan rodando por toda la pantalla.

Crear y guardar proyecto

  • Crea un nuevo programa.
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "prypompas" y guárdalo en tu carpeta de "SCRATCH".

Dibujar y duplicar pompas

  • Dibuja una pompa de jabón y renombra el objeto como "pompa1".
  • Duplica la pompa 8 veces para tener las 8 que necesitas.
  • Sitúa cada pompa en un lugar distinto de la pantalla.
  • Por ejemplo:

Movimiento

Ahora toca elaborar el código necesario para dotar de movimiento a cada pompa de jabón.

  • Ayuda. Este es el código de cada burbuja:

  • Ejecuta el programa y comprueba que las burbujas se mueven aleatoriamente por la pantalla.

Desaparecer burbujas

Amplía el programa anterior para que, al hacer clic con el ratón sobre una burbuja, desaparezca la pompa de jabón.

  • Ayuda. Tendrás que añadir, en cada objeto burbuja, el siguiente código:

  • Añade un sonido cuando se haga clic sobre una pompa.
  • Ejecuta el programa y comprueba que cada vez que hacemos clic sobre una burbuja, se esconde.
  • Observa que, si escondes las burbujas, cuando vuelvas a ejecutar el programa no se verán. Tendrás que hacer que se muestren al empezar.

Desaparecer burbujas (con pantalla)

Modifica el programa de las pompas de jabón para que a los 10 segundos se pare todo, las burbujas desaparezcan y aparezca una pantalla que ponga GAME OVER.

  • Ve al escenario.
  • Ayuda. Lo puedes hacer mediante mensajes:

  • Haz que el programa toque un sonido durante 2 segundos antes de enviar el mensaje de GAME OVER.
  • Desde las burbujas harás Al recibir “GAME OVER”: se esconderán.
  • Guarda los cambios.

2.3.1. Añadir variables

Modifica el programa para que, cuando se exploten todas las pompas, aparezca un mensaje de enhorabuena.

Crear nuevo escenario

  • Crea un nuevo fondo con el mensaje de enhorabuena. Por ejemplo:

Escenario 1. Instrucciones

  • Ve al escenario 1.
  • Crea una variable para llevar la cuenta de pompas explotadas y haz que sea visible en pantalla. Inicializa su valor a cero.
  • Haz que el fondo por defecto del programa sea el 1.

Pompas. Instrucciones

  • Cada vez que se explote una pompa, hay que incrementar el valor de la variable en 1.
  • Si es la última pompa explotada, es decir, alcanzamos la número 8, entonces mostraremos el mensaje de enhorabuena.
  • Ayuda: añade el código correspondiente dentro de cada objeto burbuja.

  • En el escenario 1, añade el código necesario para recibir el mensaje de enhorabuena y mostrar el fondo 2.
  • Ejecuta el programa y comprueba su funcionamiento.
   
Ojo

¿Qué ocurre? La variable de pompas explotadas no se comporta como es debido, ya que suma valores superiores a 8, que es el total de burbujas. Esto sucede porque escondemos las pompas, pero los objetos siguen en funcionamiento aunque no los veamos.

   
 

Solución

Para evitar este efecto no deseado, debemos detener el funcionamiento de cada pompa de jabón cuando hagamos clic sobre ella.

  • Modifica el código correspondiente para detener el programa cuando se pincha una pompa de jabón.
  • Ayuda:

  • Ejecuta el programa y verifica que ahora sí funciona correctamente.

Subir el proyecto

  • Guarda los cambios.
  • Sube el fichero "prypompas.sb2" a la plataforma.
   
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.