我已经在Flash CS6中使用AS3和Air 3.2进行了Android版本的游戏,现在这个游戏你去了不同的菜单,当你死的时候,它会回到主菜单并显示你的分数,现在当你选择一个新的角色并再次玩,怪物的速度翻倍!?!?AS3敌人加倍速度?
任何想法为什么?我可以给你一段我的代码,但我真的不确定问题的哪一部分?它会成为未被删除的事件监听器吗?
这里是调用该函数开始拉平
public function startLevel1(navigationEvent:NavigationEvent):void
{
//classSelect = null;
removeChild(classSelect);
levelManager = new LevelManager(heroGra, hero);
addChild(levelManager);
levelManaOn = true;
gameTimer = new Timer(30);
//On every 30ms we call apon moveEvent function
gameTimer.addEventListener(TimerEvent.TIMER, tick);
gameTimer.start();
}
这里是删除Tick事件,对于怪物
public function tick(timerEvent:TimerEvent):void
{
if(levelManaOn == true)
{
levelManager.update();
if(hero.hp <= 0)
{
trace("DEAD");
onScoreState();
levelManaOn = false;
removeEventListener(TimerEvent.TIMER, tick);
}
}
}
蜱事件调用更新的功能,它会调用这个功能
public function onScoreState():void
{
scoreState = new ScoreState();
scoreState.waveCompletedScore.text = levelManager.level.score.toString();
//
scoreState.addEventListener(NavigationEvent.ENDGAME, backMainMenu);
addChild(scoreState);
removeChild(levelManager);
}
这个删除了levelManager,但仍然是mon sters以两倍的速度移动,并且每次你在死后从头开始重新开始,速度再次翻倍,并且再次,为什么?
感谢您阅读并帮助
帆布
gameTimer.reset()也适用于不重新创建计时器并使用同一个计时器的情况。将定时器的创建从初始级别移出并在那里启动。 – Gone3d
干杯队友,它现在正常工作:),嗯,这是很好也知道我是在正确的轨道上:) – Canvas