How to swap a rectangle

hI.. i am begginer in processing, and I had a bug try to run these code.. the goal is simple assign the value of the wid od the shape to become te hei. and viceverse, swap the values right.. but whe i try to run the code and RIGHT CLICK on the saphe I feel dissapointed because the shape seems to be turns in both sides but i onli like that the shape change of orientation/.

best regards from mexico.

Jesus.

moveBox box;//declare de object

void setup(){
  size(500,500);
  rectMode(RADIUS);//de esta forma se consigue mover el cuadro desde el centro del mismo.
  box =new moveBox(100,100,20,50);
}

void draw(){
  background(0);
  box.display();
  box.turn();
  box.move();
}
class moveBox {
  float px;//posicion en x
  float py;//posicion en y
  int wid;//ancho del bloque
  int hei;//largo del bloque

  float xoffset=0.0;//es es para que cuando hagamos click en el cuadro lo tome desde ahi y no traslade la cordenada a un punto no deseado antes de mover el mouse
  float yoffset=0.0;
  int t;//esto fija solamente la transparencia del objeto
  int s;//esto es para colorear la linea de contorno del objeto al moverlo


  moveBox(float PX, float PY, int WID, int HEI) {//constructor
    px=PX;//parametros que se podran alterar para cada objero
    py=PY;//
    wid=WID;//ancho
    hei=HEI;//largo
  }
  void display() {//metodo que muestra el objeto en pantalla con los atributos deseados
    stroke(s);
    fill(255, 255, 0, t);
    rect(px, py, wid, hei);
  }
  void move() {//metodo para mover el objeto con las condiciones de que solo al estar dentro del cuadro este puede moverse con click
      if (mouseButton==LEFT&&(mouseX>px-wid)&&(mouseX<px+wid)&&
         (mouseY>py-hei)&&(mouseY<py+hei)) {
      px=mouseX-xoffset;//al hacer click la coordenada x de la figura se resta de 0 para evitar movimiento no deseado
      py=mouseY-yoffset;// igual pero con y
      s=255;
      t=100;
    } 
    else {
      xoffset=mouseX-px;//al soltar el click, la figura permanece en las coordenadas que el mouse tiene y evita movimiento no deseado
      yoffset=mouseY-py;//igual pero con coordenada y

        t=250; //cambiar de transparencia a color opaco
      s=0;//cambiar el contorno de la figura
    }
  }
 void turn(){
     if (mouseButton==RIGHT&&(mouseX>px-wid)&&(mouseX<px+wid)&&
        (mouseY>py-hei)&&(mouseY<py+hei)){    
       wid=wid+hei;//algoritmo para intercambiar los valores entre wid y hei
       hei=wid-hei;
       wid=wid-hei;
       }
   }
}
Tagged:

Answers

Sign In or Register to comment.