当前位置:嗨网首页>书籍在线阅读

11-游戏定时器循环

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

8.5.1 游戏定时器循环

HTML5 Canvas的游戏需要使用在循环中重复刷新和渲染的方式模拟动画。为此,需要使用JavaScript的setTimeout()函数。该函数能够以毫秒级的时间间隔重复调用指定的函数。在游戏和动画中,每1s由1000ms组成。如果希望游戏每秒运行30个更新和渲染周期,那么称之为游戏的帧率是30帧每秒(FPS)。要以30FPS的帧率运行,首先用1000除以30,然后将结果作为每次间隔的毫秒数。

const FRAME_RATE = 30;
var intervalTime = 1000/FRAME_RATE;
gameLoop()
function gameLoop() {
      drawScreen();
      window.setTimeout(gameLoop, intervalTime);
  }

通过在每个间隔调用drawScreen()函数,就可以模拟动画了。

提示

有时也将每帧间隔的时间称为帧时隙。