mirror of
https://github.com/dyne/FreeJ.git
synced 2026-02-05 20:49:15 +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
70 lines
1.1 KiB
Plaintext
70 lines
1.1 KiB
Plaintext
SpinSpots spots;
|
|
SpinArm arm;
|
|
|
|
void setup()
|
|
{
|
|
size(200, 200);
|
|
smooth();
|
|
arm = new SpinArm(width/2, height/2, 0.01);
|
|
spots = new SpinSpots(width/2, height/2, -0.02, 33.0);
|
|
}
|
|
|
|
void draw()
|
|
{
|
|
background(204);
|
|
arm.update();
|
|
arm.display();
|
|
spots.update();
|
|
spots.display();
|
|
}
|
|
|
|
class Spin
|
|
{
|
|
float x, y, speed;
|
|
float angle = 0.0;
|
|
Spin(float xpos, float ypos, float s) {
|
|
x = xpos;
|
|
y = ypos;
|
|
speed = s;
|
|
}
|
|
void update() {
|
|
angle += speed;
|
|
}
|
|
}
|
|
|
|
class SpinArm extends Spin
|
|
{
|
|
SpinArm(float x, float y, float s) {
|
|
super(x, y, s);
|
|
}
|
|
void display() {
|
|
strokeWeight(1);
|
|
stroke(0);
|
|
pushMatrix();
|
|
translate(x, y);
|
|
angle += speed;
|
|
rotate(angle);
|
|
line(0, 0, 66, 0);
|
|
popMatrix();
|
|
}
|
|
}
|
|
|
|
class SpinSpots extends Spin
|
|
{
|
|
float dim;
|
|
SpinSpots(float x, float y, float s, float d) {
|
|
super(x, y, s);
|
|
dim = d;
|
|
}
|
|
void display() {
|
|
noStroke();
|
|
pushMatrix();
|
|
translate(x, y);
|
|
angle += speed;
|
|
rotate(angle);
|
|
ellipse(-dim/2, 0, dim, dim);
|
|
ellipse(dim/2, 0, dim, dim);
|
|
popMatrix();
|
|
}
|
|
}
|