diff --git "a/index.html" "b/index.html" --- "a/index.html" +++ "b/index.html" @@ -10,6 +10,8 @@ body { overflow: hidden; touch-action: none; + margin: 0; + padding: 0; } #gameCanvas { display: block; @@ -145,6 +147,42 @@ pointer-events: none; animation: pulse 1.5s infinite; } + .joystick { + position: absolute; + width: 100px; + height: 100px; + background: rgba(255, 255, 255, 0.2); + border-radius: 50%; + bottom: 30px; + left: 30px; + pointer-events: auto; + display: none; + } + .joystick-handle { + position: absolute; + width: 40px; + height: 40px; + background: rgba(255, 255, 255, 0.4); + border-radius: 50%; + top: 30px; + left: 30px; + } + .boss-health-bar { + position: absolute; + top: 10px; + left: 50%; + transform: translateX(-50%); + width: 200px; + height: 20px; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + overflow: hidden; + } + .boss-health-fill { + height: 100%; + background: linear-gradient(to right, #ff0000, #ff9900); + width: 100%; + } @@ -159,7 +197,7 @@ -
+
火力增强 @@ -176,6 +214,21 @@
恢复生命
+
+
+ 时间减速 +
+
+
+ 清屏炸弹 +
+
+
+ 双倍分数 +
+
+
+ 最高分: 0
@@ -212,6 +265,11 @@ + + + @@ -236,12 +299,20 @@
得分: 0
+
+ +
+ + + + + -

Made with DeepSite LogoDeepSite - 🧬 Remix

- \ No newline at end of file + } + }); + + // 触摸控制按钮事件 + leftBtn.addEventListener('touchstart', (e) => { + e.preventDefault(); + gameState.keys.ArrowLeft = true; + }); + leftBtn.addEventListener('touchend', (e) => { + e.preventDefault(); + gameState.keys.ArrowLeft = false; + }); + + rightBtn.addEventListener('touchstart', (e) => { + e.preventDefault(); + gameState.keys.ArrowRight = true; + }); + rightBtn.addEventListener('touchend', (e) => { + e.preventDefault(); + gameState.keys.ArrowRight = false; + }); + + upBtn.addEventListener('touchstart', (e) => { + e.preventDefault(); + gameState.keys.ArrowUp = true; + }); + upBtn.addEventListener('touchend', (e) => { + e.preventDefault(); + gameState.keys.ArrowUp = false; + }); + + downBtn.addEventListener('touchstart', (e) => { + e.preventDefault(); + gameState.keys.ArrowDown = true; + }); + downBtn.addEventListener('touchend', (e) => { + e.preventDefault(); + gameState.keys.ArrowDown = false; + }); + + fireBtn.addEventListener('touchstart', (e) => { + e.preventDefault(); + gameState.isFiring = true; + }); + fireBtn.addEventListener('touchend', (e) => { + e.preventDefault(); + gameState.isFiring = false; + }); + + // 鼠标控制按钮事件(用于桌面浏览器测试) + leftBtn.addEventListener('mousedown', (e) => { + e.preventDefault(); + gameState.keys.ArrowLeft = true; + }); + leftBtn.addEventListener('mouseup', (e) => { + e.preventDefault(); + gameState.keys.ArrowLeft = false; + }); + leftBtn.addEventListener('mouseleave', (e) => { + e.preventDefault(); + gameState.keys.ArrowLeft = false; + }); + + rightBtn.addEventListener('mousedown', (e) => { + e.preventDefault(); + gameState.keys.ArrowRight = true; + }); + rightBtn.addEventListener('mouseup', (e) => { + e.preventDefault(); + gameState.keys.ArrowRight = false; + }); + rightBtn.addEventListener('mouseleave', (e) => { + e.preventDefault(); + gameState.keys.ArrowRight = false; + }); + + upBtn.addEventListener('mousedown', (e) => { + e.preventDefault(); + gameState.keys.ArrowUp = true; + }); + upBtn.addEventListener('mouseup', (e) => { + e.preventDefault(); + gameState.keys.ArrowUp = false; + }); + upBtn.addEventListener('mouseleave', (e) => { + e.preventDefault(); + gameState.keys.ArrowUp = false; + }); + + downBtn.addEventListener('mousedown', (e) => { + e.preventDefault(); + gameState.keys.ArrowDown = true; + }); + downBtn.addEventListener('mouseup', (e) => { + e.preventDefault(); + gameState.keys.ArrowDown = false; + }); + downBtn.addEventListener('mouseleave', (e) => { + e.preventDefault(); + gameState.keys.ArrowDown = false; + }); + + fireBtn.addEventListener('mousedown', (e) => { + e.preventDefault(); + gameState.isFiring = true; + }); + fireBtn.addEventListener('mouseup', (e) => { + e.preventDefault(); + gameState.isFiring = false; + }); + fireBtn.addEventListener('mouseleave', (e) => { + e.preventDefault(); + gameState.isFiring = false; + }); + + // 按钮事件 + startButton.addEventListener('click', initGame); + restartButton.addEventListener('click', initGame); + + // 初始调整画布大小 + resizeCanvas(); + setupJoystick(); + + // 显示最高分 + highScoreDisplay.textContent = gameState.highScore; + +

Made with DeepSite LogoDeepSite - 🧬 Remix