xxxxxxxxxx
2
let cL=["#FF5733","#8E44AD","#16A085","#FFC300","#C0392B","#2980B9","#7D3C98","#1ABC9C","#D35400","#2C3E50","#34495E","#F39C12","#27AE60","#E74C3C"],rCP=[],O=[],sD=1e4;class R{constructor(x,y,s,c,st,ms){this.x=x;this.y=y;this.s=s;this.bs=s;this.c=c;this.st=st;this.ms=ms;this.a=random(TWO_PI);this.sp=random(.005,.02);this.oR=random(80,250)}u(){let t=floor(millis()/sD)%3,cx=width/2,cy=height/2;if(t===0){this.st=0;this.ms=0}else if(t===1){this.st=1;this.ms=1}else{this.st=2;this.ms=2}this.a+=this.sp;switch(this.ms){case 1:let p=map(sin(frameCount*.04+this.a),-1,1,-10,10);this.s=this.bs+p;this.x=cx+cos(this.a)*this.oR;this.y=cy+sin(this.a)*this.oR;break;case 2:let w=sin(frameCount*.02+this.a)*30;this.x=cx+cos(this.a)*(this.oR+w);this.y=cy+sin(this.a)*(this.oR+w);break;default:this.x=cx+cos(this.a)*this.oR;this.y=cy+sin(this.a)*this.oR}}d(){push();translate(this.x,this.y);fill(this.c);noStroke();switch(this.st){case 1:push();rotate(this.a);rectMode(CENTER);rect(0,0,this.s,this.s);pop();break;case 2:push();rotate(this.a);triangle(0,-this.s*.6,-this.s*.5,this.s*.3,this.s*.5,this.s*.3);pop();break;default:ellipse(0,0,this.s,this.s)}pop()}}function setup(){createCanvas(800,600);noStroke();rCP=shuffle(cL).slice(0,5);for(let i=0;i<22;i++){let s=random(20,50),c=random(rCP),st=floor(random(3)),ms=floor(random(3));O.push(new R(width/2,height/2,s,c,st,ms))}}function draw(){let r=map(sin(frameCount*.01),-1,1,50,200),g=map(cos(frameCount*.01),-1,1,50,200),b=map(sin(frameCount*.02),-1,1,150,255);background(r,g,b);push();noFill();stroke(255,80);strokeWeight(1);translate(width/2,height/2);for(let i=0;i<6;i++){let rd=50+i*40+sin(frameCount*.01+i)*10;ellipse(0,0,rd*2,rd*2)}pop();for(let i=0;i<O.length;i++){O[i].u();O[i].d()}}