在将敌人从左向右移动的同时,如果你改变了他继续前进的等级

时间:2016-06-16 23:54:50

标签: actionscript-3

    public function goalieLoop(e:Event):void
    {
        if (goalie!=null)
        {
            if (direction=="right")
            {
                goalie.x+=5;
            }

            else
            {
                goalie.x-=5;
            }     
            if (goalie.x==500 && direction=="right")
            {
                direction="left";
            }
            else if (goalie.x==300 && direction=="left")
            {
                direction="right";
            }

        }
    }

这就是我让我的敌人从左向右移动的方式,但是一旦我进入下一个级别,根据他的行进方式,他会继续朝着屏幕方向移动。

2 个答案:

答案 0 :(得分:2)

在更改场景之前,请移除触发goalieLoop的事件侦听器并重置方向变量。

答案 1 :(得分:2)

我相信你的问题与你的边界条件有关。最好使用.iloc[::-1]<=代替>=。此外,当您检查切换方向时,我认为您不关心当前的方向。无论代码是认为它是向左还是向右并且x超过500,那么你应该向左走。

==