2013-05-27 36 views
0

我有一個「簡單」的遊戲與使用requestAnimationFrame()的動畫()循環:在主動畫循環中執行另一個循環5秒鐘?

function animate(currentTime) { 
    if(playGame) { 
    requestAnimationFrame(animate); 
    } 

    if(isCollide) { 
    endTime = currentTime + 5000; 
    drawCollision(currentTime); 
    } 

} 

我想運行5秒鐘drawCollision()的代碼,所以我做了這樣的事情:

function drawCollision(currentTime) { 

    if(playCollide) { 
    requestAnimationFrame(drawCollision); 
    } 

    if(currentTime < endTime) { 
    drawImage(image, x, y, height, width, rotation); 
    } else { 
    playCollide = false; 
    } 

} 

但是,兩個rAF調用似乎在同一時間運行?或者至少在調用drawCollision()之後的代碼在drawCollision運行時執行。

回答