4. Guía 4: movimientos

4.5. Arte procesual

4.5.3. Ejercicio 4: interacción, movimiento y música con Snap!

Antes de avanzar hacia la computación física y estudiar el movimiento desde la perspectiva de ED1, hagamos un último ejercicio de Snap! en esta guía.

La idea es llevar a cabo un proyecto donde podamos generar movimiento y música con el movimiento del ratón. Crearemos un personaje que será replicado con clones distribuidos por todo el escenario. Cuando movamos el cursor, estos personajes detectarán la proximidad y se moverán (girando y cambiando de «disfraz») y emitirán sonidos.

El primer paso es crear un personaje que tenga unos cuantos vestidos de diferentes medidas (y, si queréis, también de diferentes colores). Por ejemplo, podría ser sencillamente una línea que se va acortando con cada disfraz hasta que el último disfraz es un punto.

A continuación deberemos crear clones de este personaje y distribuirlos por el escenario (haciendo una cuadrícula, siguiendo algún patrón o de manera aleatoria). Como ejemplo, lo haremos en una cuadrícula, poniendo inicialmente a todos con el disfraz, que es solo un punto.

Ahora hemos de programar lo que pasa cuando cada clon empieza a ejecutarse. Tendremos que indicarle que siempre que detecte el cursor cerca, cambie de disfraz, gire y emita algún sonido.

Crearemos un segundo personaje que se llame «cursor» y cuyo código sea sencillamente «cuando se coja la bandera verde, ve siempre al puntero del ratón».

Podemos saber si el clon está cerca del personaje cursor con un poco de matemática muy sencilla. Restamos la posición X del clon a la posición X del cursor, y calculamos el valor absoluto. Hacemos lo mismo para la Y. Si los dos valores son menores que la distancia que decidimos (en el ejemplo, es 15), hacemos que el clon toque una nota al azar y que gire y cambie de vestido varias veces.

El efecto final será similar a este que compartimos con un gif animado. El proyecto real tiene sonido, y podéis ver todo el código aquí.

El ejercicio que os proponemos es libre, pero os pedimos que contenga:

  • movimiento de los personajes
  • interacción con el ratón
  • música o sonidos

Podéis empezar un proyecto Snap! desde cero o abrir este que os hemos explicado, modificarlo y crear vuestra versión.