gameloop()方法的不理解的地方

来源:3-2 思考题

W_littlewhite

2016-02-04 21:43

function gameLoop() {
    window.requestAnimFrame(gameLoop);
    var now = Date.now();
    deltaTime = now - lastTime;
    lastTime = now;

    fillCanvas();
    drawGirl();

    drawStars();

    aliveUpdate();
}

这个方法一开始就执行了计时器,而计时器是执行gameloop方法,相当于一个新的gameloop方法,那为什么还会执行计时器后面的部分?还有这里的计时器为什么不需要每次执行方法前清除呢?

写回答 关注

1回答

  • Sens
    2016-03-21 17:02:51

    你把requestAnimFrame视作setTimeOut(funcname, time)就行,是个异步执行的。只不过requestAnimFrame可以自己选择最佳延迟间隔时间(与屏幕刷新时机同步)而已。

canvas实现星星闪烁特效

使用HTML5实现轮播图片上的序列帧,进行拆分讲解,逐步实现目标

54187 学习 · 121 问题

查看课程

相似问题