WordGame-JS/Snowman-Animated/scripts/snow.js
2024-05-08 13:41:16 -04:00

47 lines
No EOL
1.1 KiB
JavaScript
Executable file

// Classes
class Snow{
constructor(){
this.reset();
this.position[1] = Math.floor(Math.random() * canvas.height * 4 - 5);
}
reset(){
this.position = [Math.floor(Math.random() * canvas.width * 3 - 50),Math.floor(Math.random() * 50 - 5) - 25];
this.radius = 5;
this.speed = [Math.floor(Math.random() * 4 - 1) + 1,Math.floor(Math.random() * 5) + 1];
}
draw(){
ctx.beginPath();
ctx.fillStyle = "white";
ctx.arc(this.position[0], this.position[1],this.radius, 0,Math.PI*2);
ctx.fill();
}
update(){
this.position[1] += this.speed[1];
this.position[0] += this.speed[0];
this.radius = Math.abs(lerp(5,1, this.position[1] / canvas.height));
this.draw();
// Resetting
if(this.position[1] > canvas.height){
this.reset();
}
}
}
// Varaibles
var allSnow = [];
// Functions
function _createSnow(){
for(var i = 0; i < 1500; i++){
allSnow.push(new Snow());
}
}
function _drawSnow(){
for(var i = 0; i < allSnow.length; i++){
allSnow[i].update();
}
}
_createSnow();