Scratch para aprender a programar 2


ScratchcatConozco Scratch desde hace algunos años, pero lo he desempolvado hace poco para intentar enseñar a los niños a programar. Scratch es un proyecto del MIT destinado a dotar un entorno de aprendizaje de programación con el que gente sin experiencia puede familiarizarse con la forma de pensar que se requiere, y con las estructuras lógicas que se usan, obteniendo unos resultados muy aparentes rápidamente. Curiosamente lo encontré hace poco citado como uno de los programas mas utilizados en la realización de animaciones 2D.

El proyecto da acceso a una aplicación Web gratuita que permite crear y compartir proyectos de animación. Se puede usar libremente, pero si se quieren compartir los resultados es necesario registrarse. También tiene la posibilidad descargar una aplicación y trabajar en el PC o la tableta sin necesidad de estar conectado a internet.

El entorno de programación se divide en varias secciones. Por un lado tenemos el lienzo en el que se ejecuta la animación, debajo los distintos objetos (y fondos) que componen la animación y a la derecha el panel en el que va realizando la programación del objeto que está seleccionado.

Scratch_EscritorioEl uso es muy sencillo, se basa en programar el comportamiento de cada uno de los objetos que van a componer la animación y las interacciones entre ellos. Los comandos están destinados básicamente a mover los objetos, a girarlos, aumentarlos, reducirlos, cambiarles el color, alternar entre sus distintas formas, incluir sonidos, … Pero para controlar todo esto nos encontramos con viejos conocidos como son los bucles, sentencias condicionales, eventos, sensores, interacción con el ratón y teclado, … Componen un kit mínimo para montar un programa en condiciones. Así con un poco de imaginación y otro poco de paciencia podremos montar un juego sencillito en un rato.

Quizá lo mas destacable es que la programación es muy visual. Lo que hay que hacer es arrastrar objetos desde un panel donde están todas las posibilidades a otro donde se van depositando las instrucciones para el objeto. Los trozos de código son como piezas de un puzzle que van encajando unas en otras y su forma nos da información de su función y donde pueden ir situados. 

Dejo un par de ejemplos que hice el otro día para aprender y ver como se lo podía contar a los niños. Se puede acceder al código de cada uno de las animaciones que hay en la Web y copiarlo sin mayor problema. Explico un poco lo que se ve en la imagen, que intenta modelar el comportamiento de un objeto (un gato) para dibujar la lente de una lupa. A groso modo lo que hace el programa es:

  • Scratch_comandosInicializar las variables. Es decir poner cada cosa donde tiene que estar al principio, si no tomamos esta precaución nos encontraremos que cada vez la animación empieza con los objetos donde quedaron la última vez y nos volveremos locos para intentar controlarlos. En este caso escondemos al gato para que no se vea, subimos el lápiz para que cuando se mueva no lo pinte todo, movemos al gato a su posición de salida, bajamos el lápiz para que pinte a medida que se mueve y le damos el color que queremos.
  • Después apuntamos el gato hacia donde queremos que se mueva y lo ponemos a andar de forma que cada cinco pasos se gire un poco. 
  • Llegado a un punto (arriba del todo) lo apuntamos en otra dirección y volvemos a repetir la operación para que cierre la figura de la lupa.
  • Cuando cierra la figura le pedimos que diga "Lupa" durante 2 segundos.
  • Después debe enviar un evento que hará que el resto de figuras de pongan en marcha. 

El objeto final de la animación de la lupa era ilustrar como se mueve la luz y porqué amplia los objetos. El resultado ha sido (pulsar la bandera verde para que empiece):

Con mucha menos intención fue la animación que hice para aprender y que me debió de llevar una media hora.  La dejo para que se puedan calibrar el esfuerzo frente al resultado final. Igual, para ejecutarla basta pulsar la bandera verde.

 

 

Compartir
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

2 ideas sobre “Scratch para aprender a programar