cutechicken commited on
Commit
5229e80
·
verified ·
1 Parent(s): dd0f185

Update game.js

Browse files
Files changed (1) hide show
  1. game.js +85 -51
game.js CHANGED
@@ -1689,61 +1689,95 @@ class Game {
1689
  }
1690
 
1691
  setupEventListeners() {
1692
- document.addEventListener('keydown', (event) => {
1693
- if (this.isGameOver || !gameStarted) return;
1694
-
1695
- switch(event.code) {
1696
- case 'KeyW': this.keys.w = true; break;
1697
- case 'KeyA': this.keys.a = true; break;
1698
- case 'KeyS': this.keys.s = true; break;
1699
- case 'KeyD': this.keys.d = true; break;
1700
- case 'KeyF': this.keys.f = true; break;
1701
- }
1702
- });
1703
-
1704
- document.addEventListener('keyup', (event) => {
1705
- if (this.isGameOver || !gameStarted) return;
1706
-
1707
- switch(event.code) {
1708
- case 'KeyW': this.keys.w = false; break;
1709
- case 'KeyA': this.keys.a = false; break;
1710
- case 'KeyS': this.keys.s = false; break;
1711
- case 'KeyD': this.keys.d = false; break;
1712
- case 'KeyF': this.keys.f = false; break;
1713
- }
1714
- });
 
 
 
 
 
 
 
 
 
 
 
1715
 
1716
- document.addEventListener('mousemove', (event) => {
1717
- if (!document.pointerLockElement || this.isGameOver || !gameStarted) return;
1718
-
1719
- const deltaX = event.movementX || 0;
1720
- const deltaY = event.movementY || 0;
1721
-
1722
- this.fighter.updateMouseInput(deltaX, deltaY);
1723
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1724
 
1725
- // 마우스 다운/업 이벤트 추가
1726
- document.addEventListener('mousedown', (event) => {
1727
- if (!document.pointerLockElement || this.isGameOver || !gameStarted) return;
1728
-
1729
- if (event.button === 0) { // 왼쪽 마우스 버튼
1730
- this.fighter.isMouseDown = true;
1731
- this.lastShootTime = 0; // 즉시 발사
1732
- }
1733
- });
1734
 
1735
- document.addEventListener('mouseup', (event) => {
1736
- if (event.button === 0) { // 왼쪽 마우스 버튼
1737
- this.fighter.isMouseDown = false;
1738
- }
1739
- });
1740
 
1741
- window.addEventListener('resize', () => {
1742
- this.camera.aspect = window.innerWidth / window.innerHeight;
1743
- this.camera.updateProjectionMatrix();
1744
- this.renderer.setSize(window.innerWidth, window.innerHeight);
1745
- });
1746
- }
1747
 
1748
  startGame() {
1749
  if (!this.isLoaded) {
 
1689
  }
1690
 
1691
  setupEventListeners() {
1692
+ // 키보드 이벤트 - gameStarted 체크를 수정
1693
+ document.addEventListener('keydown', (event) => {
1694
+ if (this.isGameOver) return;
1695
+
1696
+ // gameStarted 체크를 제거하거나, isStarted로 변경
1697
+ if (!this.isStarted) return;
1698
+
1699
+ switch(event.code) {
1700
+ case 'KeyW':
1701
+ this.keys.w = true;
1702
+ event.preventDefault();
1703
+ console.log('W key pressed, throttle increasing');
1704
+ break;
1705
+ case 'KeyA':
1706
+ this.keys.a = true;
1707
+ event.preventDefault();
1708
+ console.log('A key pressed, turning left');
1709
+ break;
1710
+ case 'KeyS':
1711
+ this.keys.s = true;
1712
+ event.preventDefault();
1713
+ console.log('S key pressed, throttle decreasing');
1714
+ break;
1715
+ case 'KeyD':
1716
+ this.keys.d = true;
1717
+ event.preventDefault();
1718
+ console.log('D key pressed, turning right');
1719
+ break;
1720
+ case 'KeyF':
1721
+ this.keys.f = true;
1722
+ event.preventDefault();
1723
+ break;
1724
+ }
1725
+ });
1726
 
1727
+ document.addEventListener('keyup', (event) => {
1728
+ if (this.isGameOver) return;
1729
+
1730
+ // gameStarted 체크를 제거하거나, isStarted로 변경
1731
+ if (!this.isStarted) return;
1732
+
1733
+ switch(event.code) {
1734
+ case 'KeyW':
1735
+ this.keys.w = false;
1736
+ break;
1737
+ case 'KeyA':
1738
+ this.keys.a = false;
1739
+ break;
1740
+ case 'KeyS':
1741
+ this.keys.s = false;
1742
+ break;
1743
+ case 'KeyD':
1744
+ this.keys.d = false;
1745
+ break;
1746
+ case 'KeyF':
1747
+ this.keys.f = false;
1748
+ break;
1749
+ }
1750
+ });
1751
+ document.addEventListener('mousemove', (event) => {
1752
+ if (!document.pointerLockElement || this.isGameOver || !this.isStarted) return;
1753
+
1754
+ const deltaX = event.movementX || 0;
1755
+ const deltaY = event.movementY || 0;
1756
+
1757
+ this.fighter.updateMouseInput(deltaX, deltaY);
1758
+ });
1759
 
1760
+ document.addEventListener('mousedown', (event) => {
1761
+ if (!document.pointerLockElement || this.isGameOver || !this.isStarted) return;
1762
+
1763
+ if (event.button === 0) {
1764
+ this.fighter.isMouseDown = true;
1765
+ this.lastShootTime = 0;
1766
+ }
1767
+ });
 
1768
 
1769
+ document.addEventListener('mouseup', (event) => {
1770
+ if (event.button === 0) {
1771
+ this.fighter.isMouseDown = false;
1772
+ }
1773
+ });
1774
 
1775
+ window.addEventListener('resize', () => {
1776
+ this.camera.aspect = window.innerWidth / window.innerHeight;
1777
+ this.camera.updateProjectionMatrix();
1778
+ this.renderer.setSize(window.innerWidth, window.innerHeight);
1779
+ });
1780
+ }
1781
 
1782
  startGame() {
1783
  if (!this.isLoaded) {