Spaces:
Running
Running
cutechicken
commited on
Commit
•
000b9a3
1
Parent(s):
9ca5478
Update game.js
Browse files
game.js
CHANGED
@@ -303,8 +303,34 @@ class TankPlayer {
|
|
303 |
this.startReload();
|
304 |
}
|
305 |
}
|
|
|
|
|
306 |
return bullet;
|
307 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
|
309 |
startReload() {
|
310 |
if (this.isReloading) return; // 이미 재장전 중이면 무시
|
|
|
303 |
this.startReload();
|
304 |
}
|
305 |
}
|
306 |
+
// 카메라 흔들림 효과 추가
|
307 |
+
this.applyCameraShake();
|
308 |
return bullet;
|
309 |
}
|
310 |
+
applyCameraShake() {
|
311 |
+
if (!window.gameInstance || !window.gameInstance.camera) return;
|
312 |
+
|
313 |
+
const camera = window.gameInstance.camera;
|
314 |
+
const originalPosition = camera.position.clone();
|
315 |
+
let shakeTime = 0;
|
316 |
+
const shakeIntensity = 0.2; // 발사 시 흔들림 강도
|
317 |
+
const shakeDuration = 300; // 흔들림 지속 시간 (ms)
|
318 |
+
|
319 |
+
const shakeCamera = () => {
|
320 |
+
if (shakeTime < shakeDuration) {
|
321 |
+
camera.position.x = originalPosition.x + (Math.random() - 0.5) * shakeIntensity;
|
322 |
+
camera.position.y = originalPosition.y + (Math.random() - 0.5) * shakeIntensity;
|
323 |
+
camera.position.z = originalPosition.z + (Math.random() - 0.5) * shakeIntensity;
|
324 |
+
|
325 |
+
shakeTime += 16; // 약 60fps 기준
|
326 |
+
requestAnimationFrame(shakeCamera);
|
327 |
+
} else {
|
328 |
+
camera.position.copy(originalPosition);
|
329 |
+
}
|
330 |
+
};
|
331 |
+
|
332 |
+
shakeCamera();
|
333 |
+
}
|
334 |
|
335 |
startReload() {
|
336 |
if (this.isReloading) return; // 이미 재장전 중이면 무시
|