processingboy1
processingboy1

Reputation: 31

How do i make all circles flicker

i am trying to make all the circles i draw flicker in my code. i am currently able to make the latest circle that was drawn to flicker but the goal is to make all the circles on the canvas flicker. here is my code;

float colour = random(256);
final int DIAM = 20;
final int MAX_NUM = 1000;
int numPointsX = 0;
int numPointsY = 0;
int [] xPos = new int[MAX_NUM];
int [] yPos = new int [MAX_NUM];
boolean start = false;

void setup() {
    size (500, 500);
}

void draw() {
    if (start) {
        if (xPos[numPointsX-1] > 0 || (yPos[numPointsY-1]>0)) {
            fill(random(256), random(256), random(256));
            circle(xPos[numPointsX-1], yPos[numPointsY-1], DIAM);
        }
    }
    
    println(xPos[0]);
}

void mouseClicked() {
    insertXandY();
}

void insertXandY() {
    int x = mouseX;
    int y = mouseY;
    
    xPos[numPointsX] = x;
    yPos[numPointsY] = y;
    
    numPointsX += 1;
    numPointsY += 1;
    start = true;
}

Upvotes: 0

Views: 45

Answers (1)

Rabbid76
Rabbid76

Reputation: 211166

You need to draw all the circles in a loop with a different color in each frame:

void draw() {
    background(255);
    fill(random(256), random(256), random(256));
    for (int i = 0; i< numPointsX; ++i) {
        circle(xPos[i], yPos[i], DIAM);
    }
}

Complete example:

float colour = random(256);
final int DIAM = 20;
final int MAX_NUM = 1000;
int numPointsX = 0;
int numPointsY = 0;
int [] xPos = new int[MAX_NUM];
int [] yPos = new int [MAX_NUM];
boolean start = false;

void setup() {
    size (500, 500);
}

void draw() {
    background(255);
    fill(random(256), random(256), random(256));
    for (int i = 0; i< numPointsX; ++i) {
        circle(xPos[i], yPos[i], DIAM);
    }
}

void mouseClicked() {
    insertXandY();
}

void insertXandY() {
    int x = mouseX;
    int y = mouseY;
    
    xPos[numPointsX] = x;
    yPos[numPointsY] = y;
    
    numPointsX += 1;
    numPointsY += 1;
    start = true;
}

Upvotes: 1

Related Questions