diff --git a/src/engine/game-engine.js b/src/engine/game-engine.js index e3f7d2e..bc3bd20 100644 --- a/src/engine/game-engine.js +++ b/src/engine/game-engine.js @@ -220,7 +220,7 @@ class GameEngine { this.addEffect({ type: 'hit', position: player1.position.lerp(player2.position, 0.5), - duration: 500, + duration: 200, startTime: Date.now() }); } diff --git a/src/systems/renderer.js b/src/systems/renderer.js index c6b052e..321a314 100644 --- a/src/systems/renderer.js +++ b/src/systems/renderer.js @@ -214,7 +214,7 @@ class Renderer { this.drawGoalEffect(position); break; case 'hit': - this.drawHitEffect(position, color); + this.drawHitEffect(position, '#00000038', 10); break; case 'save': this.drawSaveEffect(position); @@ -241,16 +241,19 @@ class Renderer { } } - drawHitEffect(position, color) { + drawHitEffect(position, color, size = 25) { this.ctx.strokeStyle = color; this.ctx.lineWidth = 4; + const innerRadius = size * 0.4; + const outerRadius = size; + for (let i = 0; i < 6; i++) { const angle = (i / 6) * Math.PI * 2; - const startX = position.x + Math.cos(angle) * 10; - const startY = position.y + Math.sin(angle) * 10; - const endX = position.x + Math.cos(angle) * 25; - const endY = position.y + Math.sin(angle) * 25; + const startX = position.x + Math.cos(angle) * innerRadius; + const startY = position.y + Math.sin(angle) * innerRadius; + const endX = position.x + Math.cos(angle) * outerRadius; + const endY = position.y + Math.sin(angle) * outerRadius; this.ctx.beginPath(); this.ctx.moveTo(startX, startY);