mirror of
https://github.com/dyne/FreeJ.git
synced 2026-02-08 13:59:54 +01:00
processing-js 0.4 has been merged in some relevant parts basic and topic scripts added for test color handling fixed, more scripts show up now
81 lines
1.6 KiB
Plaintext
81 lines
1.6 KiB
Plaintext
int rectX, rectY; // Position of square button
|
|
int circleX, circleY; // Position of circle button
|
|
int rectSize = 50; // Diameter of rect
|
|
int circleSize = 53; // Diameter of circle
|
|
|
|
color rectColor;
|
|
color circleColor;
|
|
color baseColor;
|
|
|
|
boolean rectOver = false;
|
|
boolean circleOver = false;
|
|
|
|
void setup()
|
|
{
|
|
size(200, 200);
|
|
smooth();
|
|
rectColor = color(0);
|
|
circleColor = color(255);
|
|
baseColor = color(102);
|
|
circleX = width/2+circleSize/2+10;
|
|
circleY = height/2;
|
|
rectX = width/2-rectSize-10;
|
|
rectY = height/2-rectSize/2;
|
|
ellipseMode(CENTER);
|
|
}
|
|
|
|
void draw()
|
|
{
|
|
update(mouseX, mouseY);
|
|
|
|
noStroke();
|
|
if (rectOver) {
|
|
background(rectColor);
|
|
} else if (circleOver) {
|
|
background(circleColor);
|
|
} else {
|
|
background(baseColor);
|
|
}
|
|
|
|
stroke(255);
|
|
fill(rectColor);
|
|
rect(rectX, rectY, rectSize, rectSize);
|
|
stroke(0);
|
|
fill(circleColor);
|
|
ellipse(circleX, circleY, circleSize, circleSize);
|
|
}
|
|
|
|
void update(int x, int y)
|
|
{
|
|
if( overCircle(circleX, circleY, circleSize) ) {
|
|
circleOver = true;
|
|
rectOver = false;
|
|
} else if ( overRect(rectX, rectY, rectSize, rectSize) ) {
|
|
rectOver = true;
|
|
circleOver = false;
|
|
} else {
|
|
circleOver = rectOver = false;
|
|
}
|
|
}
|
|
|
|
boolean overRect(int x, int y, int width, int height)
|
|
{
|
|
if (mouseX >= x && mouseX <= x+width &&
|
|
mouseY >= y && mouseY <= y+height) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
boolean overCircle(int x, int y, int diameter)
|
|
{
|
|
float disX = x - mouseX;
|
|
float disY = y - mouseY;
|
|
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|