/** * Move Control */ import processing.serial.*; Serial myPort; int up; void setup() { size(500, 600); smooth(); background(100); //noStroke(); myPort= new Serial(this, "COM5",9600); } void draw(){ // Pulsante UP - SU' if (overRect(195,5,110,105) && mousePressed) { stroke(241,250,8); fill(15,150,150); rect(195,5,110,105); fill(200,200,200); triangle(250, 10, 200, 100, 300, 100); myPort.write('u'); } else { stroke(55,55,55); fill(15,150,150); rect(195,5,110,105); fill(255,255,255); triangle(250, 10, 200, 100, 300, 100); } // Pulsante DOWN - GIU' if (overRect(195,115,110,105) && mousePressed) { stroke(241,250,8); fill(15,150,150); rect(195,115,110,105); fill(200,200,200); triangle(250, 210, 200, 120, 300, 120); myPort.write('d'); } else { stroke(55,55,55); fill(15,150,150); rect(195,115,110,105); fill(255,255,255); triangle(250, 210, 200, 120, 300, 120); } // Pulsante LEFT - SINISTRA if (overRect(80,115,110,105) && mousePressed) { stroke(241,250,8); fill(15,150,150); rect(80,115,110,105); fill(200,200,200); triangle(85, 170, 180, 120, 180, 210); myPort.write('l'); } else { stroke(55,55,55); fill(15,150,150); rect(80,115,110,105); fill(255,255,255); triangle(85, 170, 180, 120, 180, 210); } // Pulsante RIGHT - DESTRA if (overRect(310,115,110,105) && mousePressed) { stroke(241,250,8); fill(15,150,150); rect(310,115,110,105); fill(200,200,200); triangle(410, 170, 320, 120, 320, 210); myPort.write('r'); } else { stroke(55,55,55); fill(15,150,150); rect(310,115,110,105); fill(255,255,255); triangle(410, 170, 320, 120, 320, 210); } //---------- Controllo Motori ----------------- // Pulsante AVANTI if (overRect(195,305,110,105) && mousePressed) { stroke(241,250,8); fill(150,150,150); rect(195,5,110,105); fill(200,200,200); triangle(250, 310, 200, 400, 300, 400); myPort.write('a'); } else { stroke(55,55,55); fill(150,150,150); rect(195,305,110,105); fill(255,255,255); triangle(250, 310, 200, 400, 300, 400); } // Pulsante INDIETRO if (overRect(195,415,110,105) && mousePressed) { stroke(241,250,8); fill(150,150,150); rect(195,415,110,105); fill(200,200,200); triangle(250, 510, 200, 420, 300, 420); myPort.write('i'); } else { stroke(55,55,55); fill(150,150,150); rect(195,415,110,105); fill(255,255,255); triangle(250, 510, 200, 420, 300, 420); } // Pulsante LEFT - SINISTRA if (overRect(80,415,110,105) && mousePressed) { stroke(241,250,8); fill(150,150,150); rect(80,415,110,105); fill(200,200,200); triangle(85, 470, 180, 420, 180, 510); myPort.write('s'); } else { stroke(55,55,55); fill(150,150,150); rect(80,415,110,105); fill(255,255,255); triangle(85, 470, 180, 420, 180, 510); } // Pulsante RIGHT - DESTRA if (overRect(310,415,110,105) && mousePressed) { stroke(241,250,8); fill(150,150,150); rect(310,415,110,105); fill(200,200,200); triangle(410, 470, 320, 420, 320, 510); myPort.write('e'); } else { stroke(55,55,55); fill(150,150,150); rect(310,415,110,105); fill(255,255,255); triangle(410, 470, 320, 420, 320, 510); } } boolean overRect(int x, int y, int w, int h) { if (mouseX >= x && mouseX <= x + w && mouseY >= y && mouseY <= y + h) { return true; } else { return false; } }