var offset;
var shows;
var actionFrames = 15;
var counter = 0;
function setup() {
createCanvas(windowWidth, windowHeight);
frameRate(60);
offset = random(10000);
event= false;
}
function draw() {
background(0);
noStroke();
fill(255);
var r = 100;
ellipse(width / 2, height / 2, r * 2, r * 2);
drawLines();
var d = sqrt(sq(mouseX - width / 2) + sq(mouseY - height / 2));
if (!shows && d < r) {
showLines();
}
if (shows && d > r) {
hideLines();
}
update();
}
function showLines() {
shows = true;
}
function hideLines() {
shows = false;
}
function update() {
if(shows && counter != actionFrames) {
counter++;
}
if(!shows && counter != 0) {
counter--;
}
}
function drawLines() {
stroke(255);
strokeWeight(10);
for(var w = 0; w <= width; w += 25) {
var h = map(noise(w * 0.1 + offset), 0, 1, height / 10, height * 9 / 10) * map(counter, 0, actionFrames, 0, 1);
line(w, -20, w, h - 20);
}
}