123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- Twinkle[] twinkle = new Twinkle[10];
- void setup()
- {
- size(640, 360);
- background(0);
- fill(0,0,0,0);
- frameRate(30);
-
- for(int i = 0; i < 10; i++) {
- twinkle[i] = new Twinkle();
- }
- }
- void draw()
- {
- for(int i = 0; i < 10; i++) {
- twinkle[i].update();
- }
-
- background(0);
- for(int i = 0; i < 10; i++) {
-
- twinkle[i].draw();
- }
-
-
- }
- class Twinkle {
-
- private float[] lastX = new float[4];
- private float[] lastY = new float[4];
- int[] colorVal = new int[3];
-
- public Twinkle() {
- lastX[0] = 320;
- lastY[0] = 180;
- lastX[1] = 320;
- lastY[1] = 180;
- lastX[2] = 320;
- lastY[2] = 180;
- lastX[3] = 320;
- lastY[3] = 180;
-
- colorVal[0] = (int)random(0, 255);
- colorVal[1] = (int)random(0, 255);
- colorVal[2] = (int)random(0, 255);
- }
-
- public void update() {
- float newX = lastX[3];
- float newY = lastY[3];
-
- float differenceX = random(-width / 4, width / 4);
- float differenceY = random(-height / 4, height / 4);
-
- if(abs(differenceX) < 1) {
- differenceX = 0;
- }
- if(abs(differenceY) < 1) {
- differenceY = 0;
- }
-
- newX += differenceX;
- newY += differenceY;
- newX = constrain(newX, 0, width);
- newY = constrain(newY, 0, height);
-
- lastX[0] = lastX[1];
- lastY[0] = lastY[1];
- lastX[1] = lastX[2];
- lastY[1] = lastY[2];
- lastX[2] = lastX[3];
- lastY[2] = lastY[3];
- lastX[3] = newX;
- lastY[3] = newY;
- }
- public void draw() {
- stroke(colorVal[0], colorVal[1], colorVal[2]);
- curve(lastX[0], lastY[0], lastX[1], lastY[1], lastX[2], lastY[2], lastX[3], lastY[3]);
- }
- }
|