嘿,每个人都不能真正想出解决这个问题的最简单的方法。
基本上,我有一个计时器,在游戏开始时启动,如下所示:
//Create new timer object
tEggTimer = new Timer (nTimerSpeed);
//Listen for timer intervals
tEggTimer.addEventListener(TimerEvent.TIMER, addEggs, false, 0, true);
//start timer
tEggTimer.start();
nTimerSpeed等于(800);
然后我像这样添加鸡蛋:
private function addEggs(e:TimerEvent):void
{
//var eggGlobalPosition:Point = _Egg.localToGlobal(new Point(_Bunny.x, _Bunny.y));
_Egg = new mcEgg();
stage.addChild(_Egg);
_Egg.x = _Bunny.x;
_Egg.y = _Bunny.y + 30;
aEggArray.push(_Egg);
trace(aEggArray.length);
}
因此,在另一个enter frame函数中,我想将计时器的值更改为(500),但每当我尝试这样做时:
tEggTimer =新定时器(500);
tEggTimer.start();
如下所示:
private function updateDifficulty():void
{
if (difficultyUpdate) return;
if (nScore >= 2)
{
tEggTimer.removeEventListener(TimerEvent.TIMER, addEggs);
tEggTimer.stop();
tEggTimer = new Timer(200);
tEggTimer.addEventListener(TimerEvent.TIMER, addEggs);
tEggTimer.start();
但这不会做任何事情,只是完全停止计时器。
我该怎么做才能正确地减少计时器?
谢谢你们。
https://stackoverflow.com/questions/22889484
复制相似问题