如何暂停使用requestAnimationFrame制作的画布动画? 我像这样开始动画:
代码:
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60);
};
})();
function Start() {
Update();
requestAnimFrame(Start);
}
Start();
现在我想在keydown之后添加pause选项。有没有简单的方法呢?
答案 0 :(得分:11)
您可以做的是创建一个存储动画状态的变量:暂停或取消暂停。每次单击按钮时更改该状态。这样的事情应该有效:
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();