-
Notifications
You must be signed in to change notification settings - Fork 1
/
Wave.js
36 lines (31 loc) · 1.02 KB
/
Wave.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Wave {
constructor(game) {
this.game = game;
this.startRadian = Math.random() * Math.PI * 2;
this.endRadian = (Math.PI * 2 + this.startRadian + 0.95) % (Math.PI * 2);;
this.waveRadius = 800;
this.decreaseSpeed = this.game.waveSpeed;
this.color = `hsla(${Math.random() * 360}, 100%, 35%, 1)`
}
drawWaves() {
this.game.ctx.globalCompositeOperation = 'overlay'
this.game.ctx.strokeStyle = this.color
this.game.ctx.lineWidth = 25;
this.game.ctx.lineCap = 'round';
this.game.ctx.beginPath()
this.game.ctx.arc(630, 235, this.waveRadius, this.endRadian, this.startRadian)
this.game.ctx.stroke()
this.game.ctx.closePath()
}
radiusDecrease() {
if (this.waveRadius > 4 ) {
this.waveRadius -= this.decreaseSpeed
}
}
waveRemover() {
if (this.waveRadius < 5) {
this.game.waves.shift()
this.game.waveCounter.score++;
}
}
}