Pantalla simple

En este ejemplo de programa HOST se pinta un circulo rojo en el display 1, y se mueve lentamente de un lado a otro de la pantalla:

Fichero displays.xml

<xml>
 <virtualDisplay width="1280" height="768">
 <display id="1" x="0" y="0" width="1280" height="768" />
 </virtualDisplay>
 </xml>

Codigo Host en Proccessing

int ANCHO=1280; //definir valores segun tamaño pantalla destino
int ALTO=768;

TACAPI miAPI;
DisplaysHost displaysClient;

//variables del juego
 float x=1; //posicion del circulo
 float y=300;
 float vx=2.5;
 float vy=0;

void setup() {
 
 // Keystone will only work with P3D or OPENGL renderers, 
 // since it relies on texture mapping to deform
 //fullScreen( P3D);
 size(80, 60, P3D); 
 frameRate(16);
 
 //definicion de la API
 miAPI = new TACAPI();
 
 //virtual screens
 displaysClient = new DisplaysHost("host"); 
 
}

void draw() {
 
 displaysClient.beginDraw();
 //Programacion Juego
 displaysClient.elipse(x, y, 50,50, 255, 100,100, 255);
 x=x+vx;
 y=y+vy;
 if ((x>ANCHO) || (x<0)) vx=-vx;
 displaysClient.endDraw();
}

void eventoTAC(TAC ta) {
 //tratamiento de tacs
}

void mensajeRecibido(OscMessage theOscMessage) {
 //tratamiento mensaje osc
}

void keyPressed() {
 switch(key) { 
 case ESC: 
 displaysClient.disconnect();
 super.stop();
 break;
 }
}


Retos de aprendizaje

  1. hacer que el circulo se mueva en diagonal, rebotando en los limites de la pantalla
  2. añadir 50 circulos más. hacer que empiecen en posiciones aleatorias, con velocidades aleatorias, con tamaños aleatorios y con colores aleatorios

 


Documentación

  • linea

Este método permite dibujar una línea de un color, opacidad y grosor determinados. El color se indica en formato RGB. Los parámetros que recibe son los siguientes:

float x1: posición del extremo 1 de la línea en el eje X (2D).

float y1: posición del extremo 1 de la línea en el eje Y (2D).

float x2: posición del extremo 2 de la línea en el eje X (2D).

float y2: posición del extremo 2 de la línea en el eje Y (2D).

int r: valor de la componente rojo del color con el que se pintará la línea. Valores: 0-255.

int g: valor de la componente verde del color con el que se pintará la línea. Valores: 0-255.

int b: valor de la componente azul del color con el que se pintará la línea. Valores: 0-255.

int alpha: opacidad de la línea. Valores: 0 (transparente) – 255 (opaco)

int grosor: grosor con el que se dibujará la línea.

  • curva

Este método permite dibujar una curva de un color, opacidad y grosor determinados. El color se indica en formato RGB. La curva se dibuja a través de 4 puntos: comienzo y final de la línea curva y los puntos de control de inicio y final. Los parámetros que recibe son los siguientes:

float x1: posición del punto de control inicial en el eje X (2D).

float y1: posición del punto de control inicial en el eje Y (2D).

float x2: posición del extremo 1 de la curva en el eje X (2D).

float y2: posición del extremo 1 de la curva en el eje Y (2D).

float x3: posición del extremo 2 de la curva en el eje X (2D).

float y3: posición del extremo 2 de la curva en el eje Y (2D).

float x4: posición del punto de control final en el eje X (2D).

float y4: posición del punto de control final en el eje Y (2D).

int r: valor de la componente rojo del color con el que se pintará la línea. Valores: 0-255.

int g: valor de la componente verde del color con el que se pintará la línea. Valores: 0-255.

int b: valor de la componente azul del color con el que se pintará la línea. Valores: 0-255.

int alpha: opacidad de la línea. Valores: 0 (transparente) – 255 (opaco)

int grosor: grosor con el que se dibujará la línea.

  • rectangulo

Este método permite dibujar un rectángulo del color que se desee, con o sin contorno (del color especificado) y del tamaño que se desee. Los parámetros que se le pasan a este método son:

float x: posición de la esquina superior izquierda del rectángulo en el eje X (2D).

float y: posición de la esquina superior izquierda del rectángulo en el eje Y (2D).

int ancho: anchura del rectángulo que se va a dibujar.

int alto: altura del rectángulo que se va a dibujar.

int rrell: valor de la componente rojo del color con el que se pintará el relleno del rectángulo. Valores: 0-255.

int grell: valor de la componente verde del color con el que se pintará el relleno del rectángulo. Valores: 0-255.

int brell: valor de la componente azul del color con el que se pintará el relleno del rectángulo. Valores: 0-255.

int alpharell: opacidad del relleno del rectángulo. Valores: 0 (transparente) – 255 (opaco)

int grosor (OPCIONAL): grosor del contorno del rectángulo.

int rcon (OPCIONAL): valor de la componente rojo del color con el que se pintará el contorno del rectángulo. Valores: 0-255.

int gcon (OPCIONAL): valor de la componente verde del color con el que se pintará el contorno del rectángulo. Valores: 0-255.

int bcon (OPCIONAL): valor de la componente azul del color con el que se pintará el contorno del rectángulo. Valores: 0-255.

int alphacon (OPCIONAL): opacidad del contorno del rectángulo. Valores: 0 (transparente) – 255 (opaco)

  • elipse

Este método permite dibujar una elipse del color especificado, con o sin contorno ( del color que se indique) y del tamaño que se desee. Los parámetros que recibe son los siguientes:

float x: posición del centro de la elipse en el eje X (2D).

float y: posición del centro de la elipse en el eje Y (2D).

int ancho: anchura de la elipse que se va a dibujar.

int alto: altura de la elipse que se va a dibujar.

int rrell: valor de la componente rojo del color con el que se pintará el relleno de la elipse. Valores: 0-255.

int grell: valor de la componente verde del color con el que se pintará el relleno de la elipse. Valores: 0-255.

int brell: valor de la componente azul del color con el que se pintará el relleno de la elipse. Valores: 0-255.

int alpharell: opacidad del relleno de la elipse que se va a dibujar. Valores: 0 (transparente) – 255 (opaco)

int grosor (OPCIONAL): grosor del contorno de la elipse a dibujar.

int rcon (OPCIONAL): valor de la componente rojo del color con el que se pintará el contorno de la elipse. Valores: 0-255.

int gcon (OPCIONAL): valor de la componente verde del color con el que se pintará el contorno de la elipse. Valores: 0-255.

int bcon (OPCIONAL): valor de la componente azul del color con el que se pintará el contorno de la elipse. Valores: 0-255.

int alphacon (OPCIONAL): opacidad del contorno de la elipse a dibujar. Valores: 0 (transparente) – 255 (opaco).