xxxxxxxxxx
69
class Orbital {
constructor (posX, posY, size, rate){
this.posX = posX;
this.posY = posY;
this.size = size;
this.realRate = rate;
this.rate = (1/rate)*0.001*TWO_PI;
this.smallCircle = this.size/10;
this.time= 0;
this.fluc= 1;
this.color= 0;
this.smallCirclePos = createVector(1, 1);
}
display(){
noFill();
line (this.posX, this.posY, this.posX, this.posY-this.size/2)
ellipse (this.posX, this.posY, this.size, this.size);
fill(this.color)
ellipse (this.smallCirclePos.x, this.smallCirclePos.y, this.smallCircle, this.smallCircle);
this.colorGrade();
this.rateGrade();
}
move(){
// this.time++
this.time = millis()-750;
this.smallCirclePos.x = cos(this.time*this.rate);
this.smallCirclePos.x = this.smallCirclePos.x*this.size/2;
this.smallCirclePos.x = this.smallCirclePos.x+this.posX;
this.smallCirclePos.y = sin(this.time*this.rate);
this.smallCirclePos.y = this.smallCirclePos.y*this.size/2;
this.smallCirclePos.y = this.smallCirclePos.y+this.posY;
}
colorGrade(){
if (this.color < 0){
this.color = 0
}
else
{this.color-= 5}
}
rateGrade(){
if (this.fluc > 0.99){
this.fluc-= 0.001;
this.rate = this.rate*this.fluc;
} else {
this.rate = (1/this.realRate)*0.001*TWO_PI;
this.fluc = 1;
}
}
trigg(){
this.color = 255
this.fluc = 1.01
}
}