當點擊一個按鈕時,我在畫布上爲一些東西製作動畫。一旦動畫完成,我想調用一個函數作爲參數傳遞到初始化爲的函數中。帶回調函數的requestAnimationFrame?
這可能嗎?
我嘗試了各種方法,用匿名函數等
var anim = false;
var game = new Game();
function Game(){
this.turn = 1;
this.move = function(){
this.animate(game.advanceTurn);
}
this.advanceTurn = function(){
this.turn++;
}
this.animate = function(callback){
var done = false;
anim = window.requestAnimationFrame(game.animate);
// animation code here
if (done){
window.cancelAnimationFrame(anim);
anim = false;
callback();
}
}
即按一下按鈕,動畫的東西,動畫完成,調用game.advanceTurn。
當記錄提供的參數時,控制檯將首先記錄我的回調函數,然後將其替換爲我認爲是計時器測量的值(符合rAF
描述的MDN描述)。