mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
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 Constrain extends PApplet {
|
||||
|
||||
/**
|
||||
* Constrain.
|
||||
*
|
||||
* Move the mouse across the screen to move the circle.
|
||||
* The program constrains the circle to its box.
|
||||
*/
|
||||
|
||||
float mx;
|
||||
float my;
|
||||
float easing = 0.05f;
|
||||
float esize = 25.0f;
|
||||
int box = 30;
|
||||
|
||||
public void setup()
|
||||
{
|
||||
size(200, 200);
|
||||
noStroke();
|
||||
smooth();
|
||||
ellipseMode(CENTER_RADIUS);
|
||||
}
|
||||
|
||||
public void draw()
|
||||
{
|
||||
background(51);
|
||||
|
||||
if(abs(mouseX - mx) > 0.1f) {
|
||||
mx = mx + (mouseX - mx) * easing;
|
||||
}
|
||||
if(abs(mouseY - my) > 0.1f) {
|
||||
my = my + (mouseY- my) * easing;
|
||||
}
|
||||
|
||||
float distance = esize * 2;
|
||||
mx = constrain(mx, box+distance, width-box-distance);
|
||||
my = constrain(my, box+distance, height-box-distance);
|
||||
fill(76);
|
||||
rect(box+esize, box+esize, box*3, box*3);
|
||||
fill(255);
|
||||
ellipse(mx, my, esize, esize);
|
||||
}
|
||||
|
||||
static public void main(String args[]) {
|
||||
PApplet.main(new String[] { "Constrain" });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user