2013-03-16 59 views
0

我在AS3中为学校建立游戏。我用一个定时器做了一个游戏循环,所以这个游戏可以运行得更快。AS3游戏循环和并画框

private var updateTimer:Timer; 
updateTimer = new Timer(0); 
updateTimer.addEventListener(TimerEvent.TIMER, update); 
updateTimer.start(); 

private function update(e:TimerEvent):void {  } 

这是工作,但我的老师没有告诉我函数/命令我怎么可以得出/渲染的帧。

因为这样帧频会上升。不幸的是,我遗失了那些代码,我不能在任何地方找到这个功能。有谁知道这个功能?是的,我知道这种方式非常不稳定。

非常感谢。

+0

Adob​​e在文档中表示这似乎是一个糟糕的主意:“建议不要使用低于20毫秒的延迟,定时器频率限制为每秒60帧,这意味着低于16.6毫秒的延迟会导致运行时问题。你应该把你的frameRate设置的更高,并使用标准的ENTER_FRAME事件作为你的游戏循环。 – Randalfien 2013-04-30 17:43:06

回答

0

您是否想到TimerEvent.updateAfterEvent()?这会导致Flash根据计时器或鼠标事件立即渲染一个与帧速率无关的新帧。

e.updateAfterEvent(); 
+0

是的,我一直在寻找!非常感谢 – SaschaDeWaal 2013-03-16 21:23:56

0

如果你想只改变一个游戏的帧速率,而不带定时器搞乱,你可以随时使用stage.frameRate从那里走。所以如果你想增加帧率,只需使用stage.frameRate++;