大家好,我正在开发一款带有椋鸟的游戏,我想设置一个计时器,例如每2秒我想要发生一些事情。 我使用过juggler elapsed prop,但我想知道是否有更有效的方法来做到这一点
谢谢,
物语
答案 0 :(得分:13)
或者,您可以使用“DelayedCall”类。这很容易错过! ; - )
var delayedCall:DelayedCall = new DelayedCall(method, 2.0);
delayedCall.repeatCount = int.MAX_VALUE;
Starling.juggler.add(delayedCall);
function method():void
{
trace("ping");
}
答案 1 :(得分:2)
如果这与动画无关,建议使用Timer作为非动画内容。
计时器实现的性能将高于输入帧处理程序的额外时间计算。
如果你正在推进Starling Jugglers,你可以将Juggler的帧率设置为每2秒。
Jugglers也有delayCall
,如果你的算子冗余地称为delayCall,你可以每2秒无限循环:
juggler.delayCall(functor, 2.0);
要与Starlings帧/渲染生命周期相关联,您可以测试自上次调用以来的时间。
private var lastCallTime:int
protected function frameHandler():void
{
var now:int = getTimer();
var ellapsed:int = now - lastCallTime;
if(ellapsed >= 2000)
{
/* execute implementation */
lastCallTime = now;
}
}