Spaces:
Running
Running
Update game.js
Browse files
game.js
CHANGED
|
@@ -2504,6 +2504,43 @@ class Game {
|
|
| 2504 |
}
|
| 2505 |
}
|
| 2506 |
checkCollisions() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2507 |
// ํ๋ ์ด์ด ํํ vs ์ ๊ธฐ ์ถฉ๋
|
| 2508 |
for (let i = this.fighter.bullets.length - 1; i >= 0; i--) {
|
| 2509 |
const bullet = this.fighter.bullets[i];
|
|
|
|
| 2504 |
}
|
| 2505 |
}
|
| 2506 |
checkCollisions() {
|
| 2507 |
+
// ํ๋ ์ด์ด์ ์ ๊ธฐ์ ์ง์ ์ถฉ๋ ์ฒดํฌ (์ต์ฐ์ )
|
| 2508 |
+
for (let i = this.enemies.length - 1; i >= 0; i--) {
|
| 2509 |
+
const enemy = this.enemies[i];
|
| 2510 |
+
if (!enemy.mesh || !enemy.isLoaded) continue;
|
| 2511 |
+
|
| 2512 |
+
const distance = this.fighter.position.distanceTo(enemy.position);
|
| 2513 |
+
// ์ง์ ์ถฉ๋ ํ์ (100m ์ด๋ด)
|
| 2514 |
+
if (distance < 100) {
|
| 2515 |
+
console.log('Direct collision detected! Distance:', distance);
|
| 2516 |
+
|
| 2517 |
+
// ์์ชฝ ๋ชจ๋์ ์์น ์ ์ฅ
|
| 2518 |
+
const playerExplosionPos = this.fighter.position.clone();
|
| 2519 |
+
const enemyExplosionPos = enemy.position.clone();
|
| 2520 |
+
|
| 2521 |
+
// ์์ชฝ ๋ชจ๋ ์ฆ์ ํ๊ดด
|
| 2522 |
+
// 1. ์ ๊ธฐ ํ๊ดด
|
| 2523 |
+
this.createExplosionEffect(enemyExplosionPos);
|
| 2524 |
+
enemy.destroy();
|
| 2525 |
+
this.enemies.splice(i, 1);
|
| 2526 |
+
this.score += 100;
|
| 2527 |
+
|
| 2528 |
+
// 2. ํ๋ ์ด์ด ํ๊ดด
|
| 2529 |
+
this.createExplosionEffect(playerExplosionPos);
|
| 2530 |
+
this.fighter.health = 0;
|
| 2531 |
+
|
| 2532 |
+
// ์ถฉ๋์ ์ฌ์
|
| 2533 |
+
try {
|
| 2534 |
+
const collisionSound = new Audio('sounds/bang.ogg');
|
| 2535 |
+
collisionSound.volume = 1.0;
|
| 2536 |
+
collisionSound.play().catch(e => {});
|
| 2537 |
+
} catch (e) {}
|
| 2538 |
+
|
| 2539 |
+
this.endGame(false, "COLLISION WITH ENEMY");
|
| 2540 |
+
return; // ์ถฉ๋ ์ฒ๋ฆฌ ํ ์ฆ์ ์ข
๋ฃ
|
| 2541 |
+
}
|
| 2542 |
+
}
|
| 2543 |
+
|
| 2544 |
// ํ๋ ์ด์ด ํํ vs ์ ๊ธฐ ์ถฉ๋
|
| 2545 |
for (let i = this.fighter.bullets.length - 1; i >= 0; i--) {
|
| 2546 |
const bullet = this.fighter.bullets[i];
|