xxxxxxxxxx
66
function setup() {
createCanvas(windowWidth, windowHeight);
}
function draw(){
background(0,255,0);
dayCycle();
}
let xOff = 0;
let a,b;
let state = 2;
let sunHue1,sunHue2,sunHue3;
let skyHue1,skyHue2,skyHue3;
function dayCycle() {
angleMode(radians)
b = (windowHeight/4)*sin(xOff) + windowHeight/2;
a = (-windowWidth/2 - 50)*cos(xOff) + windowWidth/2;
if(state % 2 == 0){
//sky
if(xOff > -PI/2){
skyHue1 = map(xOff, 0, -PI/2, 0, 35);
skyHue2 = map(xOff, 0, -PI/2, 0, 57);
skyHue3 = map(xOff, 0, -PI/2, 0, 93);
}else{
skyHue1 = map(xOff, -PI/2, -PI, 35, 0);
skyHue2 = map(xOff, -PI/2, -PI, 57, 0);
skyHue3 = map(xOff, -PI/2, -PI, 93, 0);
}
if(xOff > -PI/2){
sunHue1 = map(xOff, 0, -PI/2, 232, 249);
sunHue2 = map(xOff, 0, -PI/2, 119, 215);
sunHue3 = map(xOff, 0, -PI/2, 66, 28);
}else{
sunHue1 = map(xOff, -PI/2, -PI, 249, 232);
sunHue2 = map(xOff, -PI/2, -PI, 215, 119);
sunHue3 = map(xOff, -PI/2, -PI, 28, 66);
}
}else{
sunHue1 = 208;
sunHue2 = 213;
sunHue3 = 210;
skyHue = 0;
}
noStroke();
fill(skyHue1,skyHue2,skyHue3);
rect(0, 0, windowWidth, windowHeight);
fill(sunHue1,sunHue2,sunHue3);
circle(a,b,100);
if(xOff <= -PI){
xOff = 0;
state++;
}else{
xOff-= 0.05;
}
}