Javascript jQuery:Pause按钮暂停所有其他操作
我正在做一个小游戏,我有一个暂停游戏的按钮。我怎样才能“暂停”游戏中的任何动作,但当点击“恢复”按钮时,就好像什么都没发生一样恢复所有动作 假设我有一些复杂的编码,所以我不能只在一个函数中实现一件小事:它真的需要覆盖所有“繁忙”的事情 谢谢你抽出时间 暂停按钮:Javascript jQuery:Pause按钮暂停所有其他操作,javascript,jquery,function,resume,Javascript,Jquery,Function,Resume,我正在做一个小游戏,我有一个暂停游戏的按钮。我怎样才能“暂停”游戏中的任何动作,但当点击“恢复”按钮时,就好像什么都没发生一样恢复所有动作 假设我有一些复杂的编码,所以我不能只在一个函数中实现一件小事:它真的需要覆盖所有“繁忙”的事情 谢谢你抽出时间 暂停按钮: function pauseGameBtn() { $("#pause").click(function() { if (pauseBtnClicked == true) { // ...
function pauseGameBtn() {
$("#pause").click(function() {
if (pauseBtnClicked == true) {
// ...
}
else {
// ...
}
});
}
一个典型的游戏循环通过一个代码点。您的计时器会定期调用它,并且是您需要检查暂停状态的唯一位置 这大大简化了,但基本思想是:
var paused = false;
// endless game loop
setInterval(function(){
if (!paused){
RunGameLoop(); // process input => calculate => render etc
}
}, 50);
$("#pause").click(function() {
paused = true;
});
$("#resume").click(function() {
paused = false;
});
伪:
var itv = null; // The interval
(function gameUIlogic{}(
// Main Menu stuff
// and other stuff independent from framerate interval
)());
function gameLogic() {
// Game logic here
itv = window.requestAnimationFrame(loop);
}
function pause() {
return itv ? (window.cancelAnimationFrame(itv ), itv=null) : gameLogic();
}
假设您有一个播放和暂停按钮,只需在这两个按钮上触发
Pause()
函数。我们需要查看您的代码是否有任何有效的帮助,但示例中的标志是一种方式,您可能还需要清除所有正在运行的计时器。只需使用一个div作为图层,当您按下“暂停”按钮时,在屏幕顶部显示该图层,并设置“打开”标志,该标志将检测您是否按下了“暂停”按钮。该标志是一个好主意。如果看不到您将要执行的任务类型,就很难提出最佳方法。在任何情况下,对于一个持续运行的游戏来说,像“暂停”这样的事情肯定需要从一开始就“烘焙”。每个动作、事件、任务等都将受到“暂停”条件的约束。某些任务您可能希望继续运行,例如,如果任何角色有移动动画或其他内容。像播放时钟、能量累积之类的事情,你可能不需要停止计时器,但使用标志来防止变量增加。有标志的想法确实很好。我将不得不考虑我将如何实现这一点,但我想最终会成功的。谢谢这可能真的很有用。谢谢,TBA!