martes, 10 de diciembre de 2013

0
20 Adicionales mouseX, mouseY,




curve(x1, y1, x2, y2, x3, y3, x4, y4);
    


Para la función de curve( ), el primer (x1) y segundo (y1) parámetro especifica el punto de la curva y los dos últimos parámetros (x4, y4), especifican el segundo punto de la curva. 
Los parámetros de en medio establecen los puntos para definir la forma de la curva.

De manera similar, podemos realizr con:

beginShape(POLYGON);
curveVertex(84, 91);
curveVertex(68, 19);
curveVertex(21, 17);
curveVertex(32, 100);
endShape( ); 



ACTIVIDAD REALIZAR LA SIGUIENTE CURVA  

 

 

mouseX, mouseY,



Como ya se ha visto anteriormente en algunos ejemplos, los métodos de processing mouseX y mouseY, almacenan la coordenada x e y del cursor en relación con el origen en la esquina superior izquierda de la ventana de display.
Para ver los valores reales producidos mientras se mueve el ratón, Ej este programa para imprimir los valores en la consola:

void draw() {
println(mouseX + " : " + mouseY);
}



Se puede realizar operaciones tanto con mouseX, como mouseY, por ejemplo mouseX*2 u otra operación, de manera similar con Y.

Mueve 2 círculos, cuando se mueve el puntero:

void setup(){
  size(100, 100);
  noStroke();
  smooth();
 }
 void draw(){
  float x = mouseX;
  float y = mouseY;
  float ix = width - mouseX; 
  float iy = mouseY - height; 
  background(126);
  fill(255, 150);
  ellipse(x, height/2, y, y);
  fill(0, 159);
  ellipse(ix, height/2, iy, iy);
 }


Cuadrado es dibujado por donde el ratón vaya.

Si presiona el ratón el cuadrado se cambia a color negro.

void draw( ) {
    background(190);
    rect(mouseX-5, mouseY-5, 10, 10);
}

void mousePressed( ) {
    fill(0);
}
void mouseReleased( ) {
    fill(255);
}



 
En este ejemplo el cuadrado cambia a rojo oscuro si cualquier tecla está siendo presionada.

void draw( ) {
    if(keyPressed) {
        fill(102, 0, 0);
    } else {
        fill(204, 102, 0);
    }
    rect(30, 20, 55, 55);
}




 Analizar lo que hacen estos códigos


 void setup(){
 size(200,200);
 noFill();
 }
 void draw(){
 background(230);
  int x,y,x1,y1;
 x=200-mouseX-25;
 y=200-mouseY-25;
 x1=mouseX-25;
 y1=mouseY-25;
 rect(x,25,50,50);
 rect(x1,125,50,50);
 rect(25,y,50,50);
 rect(125,y1,50,50);
 }




void setup(){
  size(200,200);
}
void draw(){
  background(230);
  for(int i=0;i<=200;i+=20){
      for(int j=0;j<=200;j+=20){
        line(i,j,mouseX,mouseY);
      }
  }
  }





void setup(){
  size(100, 100);
  smooth();
  noStroke();
 }
 void draw(){
  background(126);
  translate(mouseX, mouseY);
  ellipse(0, 0, 33, 33);
 }
 


 void setup(){
  size(100, 100);
  strokeWeight(8);
  smooth();
 }
 void draw(){
  background(204);
  float angulo = map(mouseX, 0, width, 0, TWO_PI);
  translate(50, 50);
  rotate(angulo);
  line(0, 0, 40, 0);
 }



translate(45, 60);
rect(-35, -5, 70, 10);
rotate(-PI/8);
rect(-35, -5, 70, 10);
rotate(-PI/8);
rect(-35, -5, 70, 10);




noFill();
translate(50, 30);
rect(-10, 5, 20, 10);
scale(2.5);
rect(-10, 5, 20, 10);



 background(0);
smooth();
stroke(255, 120);
translate(66, 33); 
for (int i = 0; i < 18; i++) { 
  strokeWeight(i); 
  rotate(PI/12); 
  line(0, 0, 55, 0);
}


float y = 0.0;
void draw() {
    line(0, y, 100, y);
  y = y + 0.5;
}
 




La entrada del teclado también puede ser distribuida como un event handling function.
int x = 50;
int y = 50;

void draw( ){
    background(190);
    rect(x,y,10,10);
}

void keyPressed( ){
    if(key=='w'||key=='W'){
        y--;
    }else if(key=='s'||key=='S'){
        y++;
    }else if(key=='a'||key=='A'){
        x--;
    }else if(key=='d'||key=='D'){
        x++;
    }
}






0 comentarios: