En los posts anteriores hemos visto cómo crear un cuadrilátero cuyos vértices podemos arrastrar a la posición que queramos y cómo proyectar una animación de vídeo sobre ese cuadrilátero, a modo de textura, sin rebasar sus límites. Es la base para cualquier programa de vídeo mapping
En este vamos a limpiar un poco la cosa, y emplearemos una clase para crear tantos cuadriláteros como queramos. Por supuesto, cada uno puede tener su propia proyección, de manera que podamos mapear una o varias animaciones sobre cualquier superficie (… que tenga cuatro lados).
Al archivo build.pde vamos a sumar otros dos que nos ayudarán a mantener el código ordenadito: screens.pde y projections.pde. En uno guardaremos la clase Screens() y en el otro las texturas PGraphics que proyectaremos sobre ellas.
Al final del artículo encontrarás un enlace a los archivos de este ejemplo.
Lo primero es crear la clase. Si necesitas información básica sobre qué es una clase y cuál es su estructura puedes ir al artículo Crear una clase en este mismo blog.
Llamaremos a nuestra clase Screen, por aquello de que las vamos a utilizar como pantallas sobre las que proyectaremos nuestras animaciones.
La idea es la siguiente:
- Creamos una clase que recibe cinco argumentos: los cuatro primero son las coordenadas de sus vértices, el quinto la animación que proyectaremos sobre ella.
- Si el cursor está sobre la esquina, cambia a MANO, muestra una circunferencia sobre la esquina y queda disponible para ser movida.
- Si hacemos clic y arrastramos, la esquina se mueve con el cursor.
- Si soltamos, la esquina queda fija (hasta que volvamos a hacer clic sobre ella)