ArrayList segs = new ArrayList(); void setup(){ size(500,500); frameRate(20); } boolean isRed = true; int offset; color RED = color(200,0,0); color WHITE = color(255); boolean metatoggle = true; void draw(){ background(0,0,100); //translate(0,offset*3); strokeWeight(5); isRed = true; stroke(RED); int i = offset; if(offset % 8 == 0 ){ metatoggle = !metatoggle; } if(!metatoggle){ togglePen(); } for(Seg s : segs){ if(i % 8 == 0 && !(offset == i)){ togglePen(); } s.draw(); i--; } offset--; } void togglePen(){ isRed = ! isRed; if(isRed){ stroke(RED); } else { stroke(WHITE); } } void keyPressed(){ if(key == ' '){ reset();} } void reset(){ segs = new ArrayList(); } void mouseDragged(){ segs.add(new Seg(pmouseX,pmouseY,mouseX,mouseY)); } class Seg{ float e1x,e1y,e2x,e2y; Seg(float x1, float y1, float x2, float y2){ e1x = x1; e1y = y1; e2x = x2; e2y = y2; } void draw(){ line(e1x,e1y,e2x,e2y); } }