大家好,我正在与八哥一起开发游戏,我想设置一个计时器,例如每 2 秒我想要一些事情发生。我使用了 juggler elapsed 道具,但我想知道是否有更有效的方法来做到这一点
谢谢你,
哈立德
大家好,我正在与八哥一起开发游戏,我想设置一个计时器,例如每 2 秒我想要一些事情发生。我使用了 juggler elapsed 道具,但我想知道是否有更有效的方法来做到这一点
谢谢你,
哈立德
或者,您可以使用“DelayedCall”类。很容易错过!;-)
var delayedCall:DelayedCall = new DelayedCall(method, 2.0);
delayedCall.repeatCount = int.MAX_VALUE;
Starling.juggler.add(delayedCall);
function method():void
{
trace("ping");
}
如果这与动画无关,建议对非动画内容使用 Timer。
计时器实现将比输入帧处理程序上的额外时间计算具有更高的性能。
如果您正在推进 Starling Jugglers,您可以将 Juggler 的帧速率设置为每 2 秒。
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;
}
}