ngx-screen-saver
Version:
Screen saver component for Angular.
32 lines • 3.45 kB
JavaScript
export class Star {
constructor(p5, x, y) {
this.p5 = p5;
this.x = x;
this.y = y;
this.MAX_SIZE = 5;
this.size = 1;
this.decay = false;
this.destroy = false;
this.growth = this.p5.random(15, 50) / 500;
}
update() {
if (this.decay === false) {
this.size = this.size + this.growth;
}
if (this.decay === true) {
this.size = this.size - this.growth;
}
if (this.size >= this.MAX_SIZE) {
this.decay = true;
}
if (this.size <= 0) {
this.destroy = true;
}
}
draw() {
this.p5.noStroke();
this.p5.fill(255);
this.p5.circle(this.x, this.y, this.size);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3JlZW4tc2F2ZXIvc3JjL2xpYi9zY3JlZW4tc2F2ZXJzL3N0YXJzL3N0YXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLElBQUk7SUFDZixZQUFvQixFQUFNLEVBQVUsQ0FBUyxFQUFVLENBQVM7UUFBNUMsT0FBRSxHQUFGLEVBQUUsQ0FBSTtRQUFVLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBVSxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBRWhFLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFckIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsV0FBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7SUFSNkIsQ0FBQztJQVVwRSxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDckM7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwNSBmcm9tICdwNSc7XHJcblxyXG5leHBvcnQgY2xhc3MgU3RhciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwNTogcDUsIHByaXZhdGUgeDogbnVtYmVyLCBwcml2YXRlIHk6IG51bWJlcikge31cclxuXHJcbiAgTUFYX1NJWkU6IG51bWJlciA9IDU7XHJcblxyXG4gIHNpemU6IG51bWJlciA9IDE7XHJcbiAgZGVjYXk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkZXN0cm95OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdyb3d0aCA9IHRoaXMucDUucmFuZG9tKDE1LCA1MCkgLyA1MDA7XHJcblxyXG4gIHVwZGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmRlY2F5ID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnNpemUgPSB0aGlzLnNpemUgKyB0aGlzLmdyb3d0aDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZWNheSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnNpemUgPSB0aGlzLnNpemUgLSB0aGlzLmdyb3d0aDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zaXplID49IHRoaXMuTUFYX1NJWkUpIHtcclxuICAgICAgdGhpcy5kZWNheSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2l6ZSA8PSAwKSB7XHJcbiAgICAgIHRoaXMuZGVzdHJveSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcmF3KCkge1xyXG4gICAgdGhpcy5wNS5ub1N0cm9rZSgpO1xyXG4gICAgdGhpcy5wNS5maWxsKDI1NSk7XHJcblxyXG4gICAgdGhpcy5wNS5jaXJjbGUodGhpcy54LCB0aGlzLnksIHRoaXMuc2l6ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==