jQuery:暂停按钮可以暂停所有其他操作
jQuery: Pause button to pause all other actions
我正在制作一个小游戏,我有一个暂停游戏的按钮。我怎么能"暂停"游戏不做任何动作,但当点击"恢复"只是恢复所有动作时,就好像什么都没发生一样?
假设我有一些复杂的编码,所以我不能只在一个函数中实现一件小事:它确实需要覆盖所有"繁忙"的事情。
感谢您抽出时间!
暂停按钮:
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()
功能即可。
相关文章:
- 如何添加浮动和非浮动,其他
- 与其他库的jQuery.noConflict()
- 播放当前视频时如何停止其他视频?JavaScript
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 除修剪外的其他功能
- 如何临时暂停浏览器渲染,然后恢复整个页面
- jQuery循环在特定位置暂停
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- Array.length似乎不起作用;console.log则显示其他情况
- 如何消除代码中的未定义和其他问题
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- jQuery:暂停按钮可以暂停所有其他操作
- 在其他元素悬停时开始/暂停 HTML5 视频
- 暂停nodejs函数以获取其他函数的响应
- 播放其他视频时暂停视频-关闭后继续
- 暂停除激活玩家外的所有其他玩家.jQuery音频插件
- Coffeescript HTML5音频暂停所有其他音频元素
- JavaScript YouTube API 播放视频,而其他暂停 - 多个 iframe