大家好,所以我的游戏中有很多计时器专门针对8个计时器。它们都控制在不同时间出现在舞台上的不同影片剪辑对象。我也更改了难度更新功能中的计时器。现在我已经阅读了很多东西,了解Timers会导致延迟并降低性能。我正在使用AS3 Adobe AIR for Android设备创建此游戏。我的游戏似乎每秒冻结半秒钟,我相信这对定时器和垃圾收集器都有效。无论哪种方式,我想知道我是否删除所有这些计时器,而是用TweenLite TweenLite.delayedCall
函数替换它们,如果它会显着提高性能。我在我的一个旧计时器上尝试了这个,我删除并替换为tweenlite函数,它似乎工作得很好,但不确定这是否正确的方法在这里做我是如何在我的构造函数中设置它:
TweenLite.delayedCall(6.0, addWatch);
和addWatch
函数:
private function addWatch():void
{
TweenLite.delayedCall(6.0, addWatchTimer);
var newWatch:mcWatchTimer = new mcWatchTimer();
stage.addChild(newWatch);
aWatchTimerArray.push(newWatch);
//Start screen sound
watchSoundChannel;
watchSound = new watch();
watchSoundChannel = watchSound.play(0, 9999);
}
这似乎循环它,而我不必附加一个ENTER_FRAME Eveent监听器。但不确定这是否明智,因为我希望能够将难度更新中的delayedCall
更改为更快的时间间隔。
对此情况的任何反馈都将不胜感激。希望我有足够的意识。