JavaScript实现暂停按钮后,重置乒乓球游戏仍暂停的问题求助
乒乓球游戏重置后仍处于暂停状态的解决办法
问题出在**running变量没有在重置时恢复为true**:
- 点击暂停按钮后,
running会被切换为false; - 重置游戏时你只重置了
paused,但running还是保持暂停时的false,导致nextTick里的running && !paused条件不满足,游戏无法继续运行。
修复步骤:
在resetGame函数里,添加running = true;,确保两个控制状态的变量都被重置:
function resetGame(){ // some code paused = false; running = true; // 新增这行,重置运行状态 // some code updateScore(); clearTimeout(intervalID); // 这里建议用clearTimeout,因为你用的是setTimeout创建的定时器 gameStart(); };
另外可以优化下pauseGame的状态逻辑,让paused和running同步切换,避免状态不一致:
function pauseGame(){ running = !running; paused = !running; // 暂停时paused为true,恢复时自动设为false if(running){ nextTick(); } };
内容的提问来源于stack exchange,提问作者Jask
相关产品推荐
相关产品推荐

