You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

原生JS格斗游戏:计时结束后禁用精灵攻击与移动的实现方法

格斗游戏问题解决方案

核心思路:全局状态锁

先定义一个全局变量控制游戏是否处于可交互状态,所有移动、攻击逻辑都依赖这个状态:

let gameActive = true; // 初始为可交互状态

1. 禁止计时结束后的移动与攻击

在你的移动控制函数和攻击函数开头,先判断gameActive状态,非活跃状态直接终止函数执行:

移动控制示例

// 玩家移动逻辑
function handlePlayerMovement() {
  if (!gameActive) return; // 游戏结束则不执行移动
  // 你的原移动代码(键盘事件监听、位置更新等)
}

// 敌人移动逻辑
function handleEnemyMovement() {
  if (!gameActive) return;
  // 你的原敌人移动代码
}

攻击逻辑示例

// 玩家攻击逻辑
function playerAttack() {
  if (!gameActive) return; // 游戏结束则不执行攻击
  // 你的原攻击代码(检测碰撞、减少敌人血量等)
}

// 敌人攻击逻辑
function enemyAttack() {
  if (!gameActive) return;
  // 你的原敌人攻击代码
}

2. 计时结束后锁定状态并只显示一次胜负

修改计时器结束的回调函数,设置gameActive为false,仅计算一次胜负结果,避免文本频繁切换:

function onTimerEnd() {
  gameActive = false; // 锁定游戏状态
  const playerHealth = parseInt(document.getElementById('player-health').textContent);
  const enemyHealth = parseInt(document.getElementById('enemy-health').textContent);
  
  let result = '';
  if (playerHealth > enemyHealth) {
    result = '蓝色玩家获胜!';
  } else if (enemyHealth > playerHealth) {
    result = '红色敌人获胜!';
  } else {
    result = '平局!';
  }
  
  document.getElementById('result-text').textContent = result; // 仅更新一次结果
}

3. 血量耗尽后阻止重复触发胜负判断

在攻击导致血量变化后,立即检查是否有一方血量≤0,若触发则锁定状态并直接显示最终结果,后续攻击不再生效:

玩家攻击时的血量检查

function playerAttack() {
  if (!gameActive) return;
  
  // 原攻击逻辑:减少敌人血量
  enemyHealth -= 15;
  document.getElementById('enemy-health').textContent = enemyHealth;
  
  // 检查敌人是否死亡
  if (enemyHealth <= 0) {
    gameActive = false;
    document.getElementById('result-text').textContent = '蓝色玩家获胜!';
    return; // 终止后续逻辑
  }
}

敌人攻击时的血量检查

function enemyAttack() {
  if (!gameActive) return;
  
  // 原攻击逻辑:减少玩家血量
  playerHealth -= 15;
  document.getElementById('player-health').textContent = playerHealth;
  
  // 检查玩家是否死亡
  if (playerHealth <= 0) {
    gameActive = false;
    document.getElementById('result-text').textContent = '红色敌人获胜!';
    return; // 终止后续逻辑
  }
}

内容的提问来源于stack exchange,提问作者That New Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:43:16