mirror of
https://github.com/processing/processing4.git
synced 2026-01-29 11:21:06 +01:00
68 lines
1019 B
Plaintext
68 lines
1019 B
Plaintext
/**
|
|
* Mouse Functions.
|
|
*
|
|
* Click on the box and drag it across the screen.
|
|
*/
|
|
|
|
float bx;
|
|
float by;
|
|
int boxSize = 75;
|
|
boolean overBox = false;
|
|
boolean locked = false;
|
|
float xOffset = 0.0;
|
|
float yOffset = 0.0;
|
|
|
|
void setup()
|
|
{
|
|
size(640, 360);
|
|
bx = width/2.0;
|
|
by = height/2.0;
|
|
rectMode(RADIUS);
|
|
}
|
|
|
|
void draw()
|
|
{
|
|
background(0);
|
|
|
|
// Test if the cursor is over the box
|
|
if (mouseX > bx-boxSize && mouseX < bx+boxSize &&
|
|
mouseY > by-boxSize && mouseY < by+boxSize) {
|
|
overBox = true;
|
|
if(!locked) {
|
|
stroke(255);
|
|
fill(153);
|
|
}
|
|
} else {
|
|
stroke(153);
|
|
fill(153);
|
|
overBox = false;
|
|
}
|
|
|
|
// Draw the box
|
|
rect(bx, by, boxSize, boxSize);
|
|
}
|
|
|
|
void mousePressed() {
|
|
if(overBox) {
|
|
locked = true;
|
|
fill(255, 255, 255);
|
|
} else {
|
|
locked = false;
|
|
}
|
|
xOffset = mouseX-bx;
|
|
yOffset = mouseY-by;
|
|
|
|
}
|
|
|
|
void mouseDragged() {
|
|
if(locked) {
|
|
bx = mouseX-xOffset;
|
|
by = mouseY-yOffset;
|
|
}
|
|
}
|
|
|
|
void mouseReleased() {
|
|
locked = false;
|
|
}
|
|
|