10
Jak wstrzymać animację płótna wykonaną przy pomocy requestAnimationFrame? zacznę animację tak:Zapytanie dotyczące CanvasAnimationFrame pauza
Kod:
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000/60);
};
})();
function Start() {
Update();
requestAnimFrame(Start);
}
Start();
teraz chcę dodać opcję pauzy po keydown. Czy istnieje prosty sposób na zrobienie tego?
Rozwiązanie Ivana Chuba działa, ale przeglądarka będzie nadal wywoływać wywołanie requestAnimationFrame. Aby tego uniknąć, użyj zamiast tego [cancelAnimationFrame] (https://developer.mozilla.org/en-US/docs/DOM/window.cancelAnimationFrame). Zastanów się nad opublikowaniem obszernej polyfill requestAnimationFrame [w tym artykule] (http://paulirish.com/2011/requestanimationframe-for-smart-animating/). –
Nie należy wywoływać 'requestAnimationFrame' w' Update() '? W przeciwnym razie wywołujesz funkcję, która nie wykonuje nic innego niż wywołanie innej funkcji. –