xxxxxxxxxx
218
let grow = 0.1
let t=1
let ballsize1 = 10
let ballsize2 = 10
let ballsize3 = 10
let ballsize4 = 10
let ballsize5 = 10
let ballsize6 = 10
let growrate=0.1;
let angle = 1;
let offset = 1;
let ballmax=200
let offset2=1
var dragging = false; // Is the slider being dragged?
var rollover = false; // Is the mouse over the slider?
// Rectangle variables for slider
var sliderX = 10;
var sliderY = 10;
var w = 50;
var h = 50;
// Start and end of slider
var sliderStart = 50;
var sliderEnd = 550;
// Offset for dragging slider
var offsetX = 0;
let c=1
function setup() {
createCanvas(700, 700);
// grow=1;
// growrate=1;
}
function draw() {
background(220, 50);
var growrate = map(sliderX,sliderStart,sliderEnd-w,0.01,0.1);
for (t = 0 ; t <=width ; t = t+50){
fill (200, 300-t)
// grow=t+offset
// print(grow)
// if (t>=600){
// t=0}
ellipse(width/2, height/2, t+offset2, t+offset2)
}
offset2=offset2+1
// grow=c;
// growrate=c;
//aaron code
strokeWeight(0)
// ball1
// for (ballnumber=1;ballnumber<=6;ballnumber+=1 ){
// fill (10*(ballnumber*c), 20*(ballnumber-1)*c, 100, 200)
//BALL1
fill (230,0,0, 200)
ellipse(width/2, height/2, ballsize1, ballsize1);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*1)
}
if (ballsize1<=0){
grow= +(growrate*1);
}
//BALL2
fill (20,180, 80, 150)
ellipse(width/2, height/2, ballsize1*2, ballsize1*2);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*2)
}
if (ballsize1<=0){
grow= +(growrate*2);
}
//BALL2
fill (100,0,180, 150)
ellipse(width/2, height/2, ballsize1*3, ballsize1*3);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*3)
}
if (ballsize1<=0){
grow= +(growrate*3);
}
//BALL4
fill (200,0,180, 80)
ellipse(width/2, height/2, ballsize1*4, ballsize1*4);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*4)
}
if (ballsize1<=0){
grow= +(growrate*4);
}
//BALL5
fill (150,0, 0, 50)
ellipse(width/2, height/2, ballsize1*5, ballsize1*5);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*5)
}
if (ballsize1<=0){
grow= +(growrate*5);
}
//BALL6
fill (200,0,20, 10)
ellipse(width/2, height/2, ballsize1*6, ballsize1*6);
ballsize1=ballsize1+grow
if (ballsize1>=ballmax){
print('done')
grow= -(growrate*6)
}
if (ballsize1<=0){
grow= +(growrate*6);
}
// print ('done')
print (ballsize1)
//call function dandelion
noFill();
stroke(0);
strokeWeight(2);
push();
dandelion(10, 10, 30, width / 2);
pop();
//call function slider
slider();
}
function mousePressed() {
// Did I click on slider?
if (mouseX > sliderX && mouseX < sliderX + w && mouseY > sliderY && mouseY < sliderY + h) {
dragging = true;
// If so, keep track of relative location of click to corner of rectangle
offsetX = sliderX-mouseX;
}
}
function mouseReleased() {
// Stop dragging
dragging = false;
}
//draw dandelion
function dandelion(x, y, diameter, trans) {
var b = map(sliderX,sliderStart,sliderEnd-w,0.0000001,0.00001);
translate(trans, trans);
push();
for (d = 0; d < height; d++) {
for (i = 0; i < 4; i++) {
strokeWeight(d*0.1)
arc(0, 0, diameter, diameter, 0, QUARTER_PI);
rotate((PI / 2)+offset);
}
offset = offset + b;
//increase diameter + rotate
diameter = diameter + 20;
rotate(3);
}
pop();
}
//control slider, offset value
function slider(){
// Is it being dragged?
if (dragging) {
sliderX = mouseX + offsetX;
}
// Keep rectangle within limits of slider
sliderX = constrain(sliderX, sliderStart, sliderEnd-w);
// Draw a line for slider
stroke(0);
line(sliderStart, sliderY+h/2, sliderEnd, sliderY+h/2);
stroke(0);
// Fill according to state
if (dragging) {
fill (50);
} else {
fill(175);
}
// Draw rectangle for slider
rect(sliderX, sliderY, w, h);
}