如何减慢game_loop包中的游戏循环速度

时间:2014-06-04 19:39:47

标签: dart game-loop

我正在使用game_loop pub包来处理我的eventloop。问题是它经常更新。我不需要经常更新或重绘,输入密钥重复也太快。我不太了解eventloops或浏览器重绘,所以我可能会认为这是错误的方式,但有没有办法减慢循环?

2 个答案:

答案 0 :(得分:1)

在单独的Isolate中运行繁重的任务,同时保持游戏循环尽可能轻量级。应使用window.animationFrame实现游戏循环。 How do I drive an animation loop at 60fps with Dart?您应该了解requestAnimationFrame 的全部内容 - 这是平滑动画的关键。

您的游戏逻辑速度不应取决于浏览器FPS(每秒帧数)而是使用调度程序而不是Does Dart have a scheduler?

答案 1 :(得分:0)

尝试添加计时器并避免向GameLoop实例添加onUpdate或onRender处理程序:

//timer fires 20 times per second, as an example
gameLoop.addTimer(render,0.05,periodic: true);

...
...
render(GameLoopTimer timer)
{
    //draw or update code here
}