预期参数数量不正确2

时间:2015-03-17 18:01:45

标签: flash actionscript flash-cc

为了让我更好地理解动作脚本,我正在为我的班级做一个避免游戏教程,游戏已经完成了,但它应该在与敌人初次接触后停止。我收到一条错误,上面写着"参数数量不正确,预计2。"并且它挑出第13行,这是敌人= newEnemy();.它是否像缺少支架一样简单?我也会在下面发布课程。

package  {

    import flash.display.MovieClip;
    import flash.utils.Timer;
    import flash.events.TimerEvent;

    public class AvoiderGame extends MovieClip {

        public var enemy:Enemy;
        public var gameTimer:Timer;
        public var avatar:Avatar;
        public function AvoiderGame() {
            enemy = new Enemy();
            addChild( enemy );
            avatar = new Avatar();
            addChild( avatar );
            avatar.x = mouseX;
            avatar.y = mouseY;

            gameTimer = new Timer( 25 );
            gameTimer.addEventListener( TimerEvent.TIMER, onTick);
            gameTimer.start();
        }
        public function onTick( timerEvent:TimerEvent ):void 
        {
            enemy.moveDownABit();
            avatar.x = mouseX;
            avatar.y = mouseY;

            if ( avatar.hitTestObject( enemy ) ) 
            {
                gameTimer.stop();
            }
        }
    }

}

类别:

package 
{
    import flash.display.MovieClip;
    public class Enemy extends MovieClip 
    {
        public function Enemy(startX:Number, startY:Number)
        {
            x = startX;
            y = startY;
        }

        public function moveDownABit():void 
        {
            y = y + 3;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您的Enemy课程有两个参数:startXstartY,所以在这种情况下,要创建该类的实例,您必须这样做:

var enemy:Enemy = new Enemy(value_of_startX, value_of_startY);

否则,编译器将触发该错误:"参数数量不正确,预计为2。"。

但是如果你想在不提及startXstartY的情况下创建一个类的实例,你可以像这样设置params的一些默认值:

// your class

// here our default values are : 0, 0
public function Enemy(startX:Number = 0, startY:Number = 0)
{
    x = startX;
    y = startY;
}

然后你可以用params或没有你的名字来调用它。

希望可以提供帮助。