2do paso: Reanimar al objeto (parte V)

"¿Murci todavía me estará esperando? ¿No habrá aprovechado sus nuevas capacidades de vuelo para decidirse, e ir a conocer el mundo?"
Por suerte Murci sigue allí, aunque algo frustrado por nuestra desatención. Tomémonos un tiempo para contarle lo que aprendimos, de como haremos que su vuelo se parezca más al de sus parientes del mundo "real"… seguramente le volverá el entusiasmo. Let's work (a trabajar).

Cambiando la trayectoria (I)

Hasta ahora conseguimos que el vuelo de Murci sea continuo en el tiempo, pero analizando su trayectoria veremos que sólo se desplaza siguiendo una línea horizontal (¡ni que estuviera haciendo guardia!). Vamos a empezar a cambiar esto aprovechando todo lo que aprendimos en la parte IV:

Colocando una dirección como condición inicial

Desde ya, comencemos reabriendo el proyecto. Observemos que habíamos colocado una condición inicial para el tamaño —lo achicamos a una cuarta parte—, y una condición inicial para sus coordenadas de inicio (con todo lo que sabés ahora de coordenadas, no hará falta que diga más).
¿Qué otra condición inicial no fijamos? Exactamente: la dirección del objeto.
Cuando creamos ya hace tiempo el objeto murciélago (para nosotros Murci) Scratch se encargó de colocarle de manera predeterminada la dirección "a la derecha" (o 90º). Y en el programa —tal como está ahora— el único bloque que va a afectar su dirección de movimiento es el de rebotar al tocar un borde: en nuestro caso hace que cambie de ir "a la derecha" (90º) a ir "a la izquierda" (-90º), y así sucesivamente. Esto explica el tipo de "vuelo" horizontal que observamos.
Vamos a ver una manera simple de cambiar la situación. Para ello fijemos nosotros una nueva condición inicial (esa que no pusimos en ningún momento) de manera que el objeto comience su movimiento apuntando en una dirección determinada —por ejemplo, 60º—. Sólo necesitaremos de un bloque de direccionamiento absoluto para lograr esto (económico ¿no?): el bloque apuntar en dirección (60).
El programa debería lucir como aquí a la derecha… probalo y verás que el "vuelo" cambia notablemente. Debido a los rebotes su dirección cambiará alternativamente entre los valores +60º, +120º, -120º y -60º (aunque después de un rato no siempre en ese orden).
Es un buen momento para que aproveches (si tenés ganas) a probar con otros valores en las condiciones iniciales; al final volvé a los valores que aquí indicamos y guardá el proyecto para asegurar la incorporación de nuestro último bloque, que ya seguimos.

Cómo "ver" una trayectoria

Ya nos falta poco para terminar este "2º paso: Reanimar al Objeto" —que ya lleva 5 páginas—; aprovechemos para introducir escuetamente otras potencialidades de Scratch.
Existe un conjunto de "herramientas" que les dan a los objetos la posibilidad de dibujar sobre el escenario: son los bloques de instrucciones del grupo Lápiz.
Podríamos usarlas ensamblándolas dentro del programita que obtuvimos hasta aquí, pero en lugar de ello generaremos 2 pequeños scripts que estarán también asociados a nuestro objeto Murci: usaremos lo que se denomina programación multi-hilo.
¡Con estos 2 nuevos programitas conseguiremos controlar la acción de dibujo usando el teclado!
Muchos lenguajes de programación ampliamente usados y reconocidos no contemplan la posibilidad de programación multi-hiloScratch sí.

Para explicarlo suscintamente, la programación multi-hilo permite correr múltiples programas "virtualmente" al mismo tiempo (aunque desde el punto de vista del microprocesador "realmente" esto no sea así). Dichos programas podrán "comunicarse" entre sí a través de variables globales, de mensajes, del uso de sensores, e incluso controlarse mutuamente…
lápiz
La imagen anterior muestra el resultado final; ahora voy a la explicación:
El programa superior es el que ya teníamos, lo dejo sólo como guía de lo que deberías ver en el Área de Programación de nuestro objeto Murci.
Agregamos sí los dos pequeños programitas: ambos —como todo script— arrancan con un bloque del tipo sombrero (dentro de la nueva categoría Eventos en Scratch 2.0).
Pero a diferencia de lo que habíamos usado hasta ahora (el comando "bandera verde") estos se accionan mediante el uso del teclado —la elección que hice de las teclas para cada uno de ellos es arbitraria—.
Lo que sucederá al presionar la tecla flecha abajo es que estaremos habilitando la capacidad de dibujo que Scratch le dá a todo objeto, mediante el uso de la instrucción bajar lápiz.
En contraposición, el otro programita que se corre apretando la tecla flecha arriba generará la deshabilitación de dicha capacidad de dibujo, más el borrado de todo lo dibujado hasta ese momento. Para ello usa las instrucciones subir lápiz y borrar.

Destaquemos dos cosas:

  • Todo nuevo objeto que se agregue a un proyecto lo hará con la función de dibujo deshabilitadada (o en off) de modo predeterminado: por lo tanto, si se contempla su uso se deberá programar convenientemente (bajar lápiz equivale a poner la capacidad de dibujo en on).
  • Cuando se guarda un proyecto con algo dibujado en el escenario, al volverlo a abrir esto aparecerá de nuevo en pantalla… en esos casos se aconseja agregar una instrucción borrar junto a las definiciones de las condiciones iniciales (o en algún programa que arranque con "bandera verde").

Como ves, aprendiste algo más. Usemos estos elementos para —ahora sí— ver la trayectoria de Murci.
Después de un rato de observarla, queda de manifiesto que sigue siendo muy recta y, peor aún, muy previsible. Y si hay algo que caracterice al vuelo de un murciélago no es justamente su previsibilidad.

PARA VER

Podés visitar esta página dentro del sitio de Scratch para ver esta parte del proyecto en acción, e incluso descargarlo (si estás suscripto como usuario).
¿Podremos ayudar a nuestro amigo a parecerse un poco más a sus parientes del mundo "real"? Veamos…
Última actualización:Febrero 22, 2014

No hay comentarios.:

Publicar un comentario

© Scratch CodeLab | D153ñ0 b454d0 3n l4 pl4n71ll4 SimpleRWD d3 Oloblogger