Javascript 画布请求动画帧暂停
如何暂停使用requestAnimationFrame制作的画布动画? 我这样开始动画: 代码:Javascript 画布请求动画帧暂停,javascript,html,canvas,Javascript,Html,Canvas,如何暂停使用requestAnimationFrame制作的画布动画? 我这样开始动画: 代码: 现在我想在按下键后添加暂停选项。有什么简单的方法吗?您可以创建一个变量来存储动画的状态:暂停或未暂停。每次单击按钮时更改该状态。像这样的方法应该会奏效: var isPaused = false; window.requestAnimFrame = (function() { return window.requestAnimationFrame ||
现在我想在按下键后添加暂停选项。有什么简单的方法吗?您可以创建一个变量来存储动画的状态:暂停或未暂停。每次单击按钮时更改该状态。像这样的方法应该会奏效:
var isPaused = false;
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
function Start() {
if (isPaused) {
Update();
}
requestAnimFrame(Start);
}
window.onkeydown = function() {
isPaused = !isPaused; // flips the pause state
};
Start();
Ivan Chub解决方案可以工作,但浏览器将继续调用requestAnimationFrame回调。要避免这种行为,请改用。请参阅发布的RealSimultFraskPrimultPult填充。不应该在<代码> UpDebug()/<代码>中调用<代码>请求动画框架>代码>。否则,您调用的函数除了调用另一个函数之外什么都不做。Update()函数做什么?这个问题在这里没有得到真正的回答。这个函数有什么特别的地方我们应该知道吗?
var isPaused = false;
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
function Start() {
if (isPaused) {
Update();
}
requestAnimFrame(Start);
}
window.onkeydown = function() {
isPaused = !isPaused; // flips the pause state
};
Start();