mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 20:01:09 +01:00
89 lines
1.4 KiB
Java
89 lines
1.4 KiB
Java
import processing.core.*;
|
|
|
|
import java.applet.*;
|
|
import java.awt.*;
|
|
import java.awt.image.*;
|
|
import java.awt.event.*;
|
|
import java.io.*;
|
|
import java.net.*;
|
|
import java.text.*;
|
|
import java.util.*;
|
|
import java.util.zip.*;
|
|
import java.util.regex.*;
|
|
|
|
public class MouseFunctions extends PApplet {
|
|
|
|
/**
|
|
* Mouse Functions.
|
|
*
|
|
* Click on the box and drag it across the screen.
|
|
*/
|
|
|
|
float bx;
|
|
float by;
|
|
int bs = 20;
|
|
boolean bover = false;
|
|
boolean locked = false;
|
|
float bdifx = 0.0f;
|
|
float bdify = 0.0f;
|
|
|
|
|
|
public void setup()
|
|
{
|
|
size(200, 200);
|
|
bx = width/2.0f;
|
|
by = height/2.0f;
|
|
rectMode(CENTER_RADIUS);
|
|
}
|
|
|
|
public void draw()
|
|
{
|
|
background(0);
|
|
|
|
// Test if the cursor is over the box
|
|
if (mouseX > bx-bs && mouseX < bx+bs &&
|
|
mouseY > by-bs && mouseY < by+bs) {
|
|
bover = true;
|
|
if(!locked) {
|
|
stroke(255);
|
|
fill(153);
|
|
}
|
|
} else {
|
|
stroke(153);
|
|
fill(153);
|
|
bover = false;
|
|
}
|
|
|
|
// Draw the box
|
|
rect(bx, by, bs, bs);
|
|
}
|
|
|
|
public void mousePressed() {
|
|
if(bover) {
|
|
locked = true;
|
|
fill(255, 255, 255);
|
|
} else {
|
|
locked = false;
|
|
}
|
|
bdifx = mouseX-bx;
|
|
bdify = mouseY-by;
|
|
|
|
}
|
|
|
|
public void mouseDragged() {
|
|
if(locked) {
|
|
bx = mouseX-bdifx;
|
|
by = mouseY-bdify;
|
|
}
|
|
}
|
|
|
|
public void mouseReleased() {
|
|
locked = false;
|
|
}
|
|
|
|
|
|
static public void main(String args[]) {
|
|
PApplet.main(new String[] { "MouseFunctions" });
|
|
}
|
|
}
|