2013-05-27 39 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运行时执行。

回答