2011-02-07 52 views
0


我正在创建一个Flash游戏,它使用时间间隔setInterval,有时会进行繁重的计算。问题在于,在速度较慢的机器上,这些计算无法跟上帧率和电影的速度变慢,但定时器不受影响,使它们与电影异步。回顾一下,使用定时器是一个糟糕的主意,但现在我无法改变它。所以...
有没有办法跳过画框?如果游戏在某些区域的帧率较低,但与定时器保持一致,那就没问题了。或者你有任何其他想法如何解决我的问题?我使用AS2 btw。有没有办法跳过绘制框架?

回答

0

的解决方案是要么使用基于时间的措施,基于帧的措施,而不是混合和匹配两个。

首选的解决方案是在所有帧事件中使用getTime()来确定自上一帧以来经过了多长时间,因此您需要在该事件中做多少时间。

+0

但它不会阻止闪存反正来绘制帧。我想添加两个连续的帧需要更多的时间间隔,但遗憾的是没有`updateInterval`函数。 – 2011-02-08 00:03:40

0

如何区分你的更新分为两个方面:更新(),你只会更新您以后将用于渲染的价值观和平局() /渲染(),您将有所有的图形相关的代码?

您有一个跳帧变量,您可以在onEnterFrame中使用它在需要时进行渲染。

例如

onEnterFrame = function(){ 
    update(); 
    if(_currentframe % frameSkip == 0) draw(); 
} 

HTH

相关问题