ngx-screen-saver
Version:
Screen saver component for Angular.
23 lines • 2.74 kB
JavaScript
export class Particle {
constructor(p5, pos, vel, size, color, rotation) {
this.p5 = p5;
this.pos = pos;
this.vel = vel;
this.size = size;
this.color = color;
this.rotation = rotation;
if (this.rotation) {
this.vel.rotate(this.rotation);
this.vel.setMag(this.p5.random(1, 2));
}
}
update() {
this.pos.add(this.vel);
}
draw() {
this.p5.noStroke();
this.p5.fill(this.color);
this.p5.circle(this.pos.x, this.pos.y, this.size);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NyZWVuLXNhdmVyL3NyYy9saWIvc2NyZWVuLXNhdmVycy9maXJld29ya3MvcGFydGljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFDVSxFQUFNLEVBQ1AsR0FBYyxFQUNkLEdBQWMsRUFDZCxJQUFZLEVBQ1osS0FBZSxFQUNmLFFBQWlCO1FBTGhCLE9BQUUsR0FBRixFQUFFLENBQUk7UUFDUCxRQUFHLEdBQUgsR0FBRyxDQUFXO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBVztRQUNkLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUV4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHA1IGZyb20gJ3A1JztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJ0aWNsZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHA1OiBwNSxcclxuICAgIHB1YmxpYyBwb3M6IHA1LlZlY3RvcixcclxuICAgIHB1YmxpYyB2ZWw6IHA1LlZlY3RvcixcclxuICAgIHB1YmxpYyBzaXplOiBudW1iZXIsXHJcbiAgICBwdWJsaWMgY29sb3I6IHA1LkNvbG9yLFxyXG4gICAgcHVibGljIHJvdGF0aW9uPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5yb3RhdGlvbikge1xyXG4gICAgICB0aGlzLnZlbC5yb3RhdGUodGhpcy5yb3RhdGlvbik7XHJcbiAgICAgIHRoaXMudmVsLnNldE1hZyh0aGlzLnA1LnJhbmRvbSgxLCAyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoKSB7XHJcbiAgICB0aGlzLnBvcy5hZGQodGhpcy52ZWwpO1xyXG4gIH1cclxuXHJcbiAgZHJhdygpIHtcclxuICAgIHRoaXMucDUubm9TdHJva2UoKTtcclxuICAgIHRoaXMucDUuZmlsbCh0aGlzLmNvbG9yKTtcclxuXHJcbiAgICB0aGlzLnA1LmNpcmNsZSh0aGlzLnBvcy54LCB0aGlzLnBvcy55LCB0aGlzLnNpemUpO1xyXG4gIH1cclxufVxyXG4iXX0=