Haga su código de Scratch más eficiente con bloques personalizados

Lo que vas a crear

Ahora estás casi todo el camino a través de esta serie para principiantes en Scratch. Has creado un juego en el que el usuario persigue a un gato con un cangrejo, el gato dice "¡Ouch!" Cuando el cangrejo lo pellizca, y se mantiene una puntuación. El juego tiene algunas animaciones y mantiene la puntuación, que se muestra al final..

En esta parte continuaremos trabajando en ese proyecto. Usaremos un bloque personalizado para hacer que nuestro código sea más ordenado y más fácil de trabajar..

Usos de bloques personalizados

Los bloques personalizados tienen algunos usos:

  • Utilícelos para aplicar el principio DRY (Don't Repeat Yourself) a sus proyectos, reemplazando los bloques que usa más de una vez con un bloque personalizado. De esta manera, puede definir una rutina una vez y luego usarla cuando lo necesite insertando su bloque personalizado en su proyecto.
  • Si sus scripts se están volviendo grandes y difíciles de manejar, utilícelos para ordenar cosas y almacenar rutinas largas en otros lugares.
  • Creación de rutinas recursivas en las que la rutina se ejecuta de nuevo si se cumple o no una condición.
  • Creación de rutinas en las que los valores o cadenas pueden modificarse cada vez que agregue la rutina a un script.

En este tutorial usaremos los tres primeros enfoques..

Lo que necesitarás

Para completar este tutorial, necesitarás:

  • una cuenta gratis con Scratch
  • un navegador web con acceso a Scratch (recomiendo usar un navegador moderno como Chrome, Firefox, Safari u Opera para la mejor experiencia)

Empezando

Vamos a trabajar con el proyecto creado en la última parte de esta serie, en animaciones. Usaremos los recursos y scripts que hemos creado hasta ahora y agregaremos más.

Dependiendo de si trabajó junto con ese tutorial, hay dos formas de comenzar con este tutorial:

  • Abra el proyecto que creó para el último tutorial y haga un duplicado de eso..
  • Remezcla el proyecto que creé para soportar el último tutorial..

Alternativamente, puedes seguir trabajando en el mismo proyecto que ya creaste. Así es como haces cada uno de estos (solo necesitarás hacer uno).

Duplicando tu propio proyecto

Abre Scratch y ve al proyecto que quieres duplicar. Asegúrese de que ha hecho clic en el Ver adentro Botón para que puedas ver el funcionamiento del proyecto..

En la barra de herramientas, haga clic en Archivo> Guardar como una copia:

Scratch abrirá tu nueva copia. Renombralo y empieza a trabajar en ello.

Remezclando mi proyecto

Inicie sesión en Scratch y vaya a la página de mi proyecto en animaciones.

Haga clic en el Ver adentro Botón para ver el proyecto:

Ahora haga clic en el Remezclar botón. Scratch guardará un duplicado de mi proyecto como un nuevo proyecto en su cuenta. Renombralo y eres bueno para ir!

Creando un Bloque Personalizado para Evitar la Repetición

Primero debe identificar dónde un bloque personalizado haría que sus scripts sean más eficientes. En este proyecto, el guión principal del escenario incluye algunas repeticiones de dos líneas:

  • espera 1 segundo
  • cambia el temporizador por -1

Esto no es un código repetitivo, por lo que en un proyecto real puede elegir dejarlo como está, pero para este tutorial, reemplazémoslo con un bloque personalizado.

Selecciona el Escenario y haga clic en Más bloques. Haga clic en el Hacer un bloque botón. Se le presentará con el Bloque nuevo caja de diálogo:

Ahora verás un nuevo script llamado 'hat' definir Cuenta atrás cada segundo (o como lo hayas llamado):

Para definir este bloque, debe agregar los bloques que reemplazará debajo de ese 'sombrero'. Estos serán los espera 1 segundo y cambia el temporizador por -1 bloques.

Una vez que hayas hecho eso, edita el script con esos dos bloques de repetición para que los dos bloques sean reemplazados por tu bloque personalizado cada vez. El script ahora tendrá 11 bloques de código en lugar de 14:

Esto solo ha reducido el código en tres líneas en ese script, pero puede ver cómo si estuviera usando rutinas más grandes o repitiéndolas más a menudo, tal vez para diferentes sprites, las cosas serían más eficientes. Si desea que un bloque personalizado se aplique a todos sus sprites, créelo en el escenario.

Creación de un bloque personalizado para acortar una secuencia de comandos

Otra forma en que puede usar bloques personalizados es reemplazar las rutinas grandes en sus scripts, haciendo que los scripts sean más cortos y fáciles de administrar. El cat sprite actualmente tiene bastantes bloques en su script principal, así que apliquemos este principio a eso.

Así es como se ven los guiones de gatos ahora:

Vamos a crear dos bloques personalizados: uno para la rutina que le pide al usuario que defina lo que dirá el gato, y otro para la rutina que hace que el gato reaccione ante la captura del cangrejo.

Asegúrate de que tienes seleccionado el gato, y ve a la Más bloques sección. Haga clic en el Hacer un bloque botón, y nombre tu primer bloque. Voy a llamarlo: 'El usuario define el sonido del gato'.

Ahora arrastre los bloques que ejecutan esa rutina al 'sombrero' de su bloque personalizado. Los bloques que necesitas mover son los siguientes:

  • Pregunte ¿Debe el gato maullar o gritar cuando es picado por el cangrejo? y espera
  • si respuesta = miau entonces
  • di miau durante 2 segundos
  • más
  • si responde = grita entonces
  • decir gritar durante 2 segundos

Asegúrate de arrastrar cualquier bloque debajo de estos al script original.

Ahora agregue el El usuario define el sonido del gato. bloque en su script original en el lugar donde sacó los bloques de arriba.

Repita esto para las líneas de código debajo de eso, creando un nuevo bloque personalizado llamado El gato reacciona al ser atrapado, añadiendo los bloques a eso, y agregando el nuevo El gato reacciona al ser atrapado bloquear a su script original.

Así es como se ven los guiones del gato ahora:

La cantidad de código es la misma, pero al separar las dos rutinas, ha hecho que sea más fácil ver lo que sucede en su script original. Esta es una técnica que algunas personas encontrarán útil, mientras que otras prefieren quedarse con todos sus bloqueos en un largo script.!

Creando un Bloque Personalizado para una Rutina Recursiva

Otro uso para un bloque personalizado es crear una rutina recursiva, en la cual una rutina puede ejecutarse dentro de sí misma. Es más fácil de explicar creando uno..

los El usuario define el sonido del gato. el bloque personalizado que acabamos de definir le pide al usuario que escriba un sonido que hará el gato. Si el usuario escribe "meow" o "scream", el script reacciona a eso. ¿Pero qué pasa si el usuario escribe mal o escribe algo más? Si eso sucede, queremos mostrar un mensaje al usuario y luego volver a hacer la pregunta. Podemos hacer eso haciendo el El usuario define el sonido rutina recursiva.

Seleccione el gato sprite y edite el El usuario define el sonido del gato. bloque personalizado Comience por reemplazar el Si bloque dentro del más sección de la si bloque con un segundo si bloquear. Asegúrate de copiar las condiciones (respuesta = gritar) de su original Si bloque en el Si sección de la nueva si bloquear. Mueve el decir gritar durante 2 segundos bloque dentro del Si bucle en ese si bloquear.

Ahora en el más sección de la si bloque, agregue estos bloques:

  • decir Perdón, no pude captar eso durante 1 segundo
  • configurar el temporizador a 0
  • El usuario define el sonido del gato.

Así es como se verá tu guión:

Ahora, si el usuario ingresa la respuesta incorrecta, el gato dirá: 'Lo siento, no lo capté', el temporizador se reiniciará a cero y la rutina se ejecutará nuevamente, preguntándole al usuario qué sonido quiere que haga el gato. hacer.

Resumen

Los bloques personalizados son una herramienta muy útil en Scratch. Como aprendió en este tutorial, puede usarlos para guardar la repetición de un conjunto de bloques una y otra vez en su proyecto, o puede definir rutinas que luego agrega a un script, lo que hace que sus scripts sean más manejables. Si necesita repetir una rutina si se cumple una condición, puede crear una rutina recursiva como la que creó para el gato..

También puede incluir cadenas, números y entradas booleanas en sus bloques personalizados, lo que significa que cada vez que agregue un bloque a un script, puede cambiar la forma en que funciona. Para más información sobre esto, echa un vistazo a la wiki Scratch.

¡Tu proyecto Scratch ya está completo! En la siguiente y última parte de esta serie, veremos cómo puede compartir su trabajo y crear estudios para trabajar en colaboración..