Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 将Number类型的值隐式强制为不相关的flash类型。显示:MovieClip_Actionscript 3_Flash_Flash Builder - Fatal编程技术网

Actionscript 3 将Number类型的值隐式强制为不相关的flash类型。显示:MovieClip

Actionscript 3 将Number类型的值隐式强制为不相关的flash类型。显示:MovieClip,actionscript-3,flash,flash-builder,Actionscript 3,Flash,Flash Builder,当我试图通过函数传递MovieClip时,我得到错误: “将Number类型的值隐式强制为不相关的flash类型。显示:MovieClip” 房间生成类别: public var generatedRoom:Array; public function enemyPack():void { //trace(generatedRoom[createdRooms]); var random:int = Main.getRandom(0,5);

当我试图通过函数传递MovieClip时,我得到错误:

“将Number类型的值隐式强制为不相关的flash类型。显示:MovieClip”

房间生成类别:

public var generatedRoom:Array;

public function enemyPack():void
    {
        //trace(generatedRoom[createdRooms]);
        var random:int = Main.getRandom(0,5);

        switch(random)
        {
            case 0:
                Main.spawnEnemy(roomX+Main.getRandom(50, room.width-50),generatedRoom[createdRooms],roomY+Main.getRandom(50, room.height-50));
                break;
        }
    }
敌人阶级:

public function spawn(setX:int,setY:int, inRoom:MovieClip ,b:int = 0):void
    {
        timeToSlow = Main.getRandom(500,1500)
        type = b;
        isDestroyed = false;
        switch(type)
        {
            case 0:
                life = 100 + (Math.pow(Main.dific,4));

                maxLife = life;
                model = new MC_EnemigoD();
                bulletSpeed = Main.getRandom(3,6);
                timeToMove = 400;
                bulletModel = new MC_BulletE();
                speed = 1 + (Main.nivel)/2;
                aggro = 250;
                break;
            case 1:
                life = 125 + (Math.pow(Main.dific,4));
                maxLife = life;
                model = new MC_EnemigoC();
                speed = 0.5 /*+ (Main.nivel)/2*/;
                break;
            case 2:
                life = 500 + (Math.pow(Main.dific,4));
                maxLife = life;
                model = new MC_BossM();
                speed = 1 + (Main.nivel)/2;
                timeToMove = Main.getRandom(400,600);
                bulletModel = new MC_BulletC();
                bulletSpeed = Main.getRandom(6,9);
                timeToShoot = Main.getRandom(1500,2000);
                aggro = 400;
                break;
            case 3:
                life = 400 + (Math.pow(Main.dific,4));
                maxLife = life;
                model = new MC_Troll();
                speed = 0.6 /* + (Main.nivel)/2*/;
                break;
            case 4:
                life = 1000 + (Math.pow(Main.dific,4));
                maxLife = life;
                model = new MC_BossB();
                model.scaleX = 0.5;
                model.scaleY = 0.5;
                speed = 3 + (Main.nivel)/2;
                break;
        }
        model.addChild(shadow);


        //Main.render.
        Main.render.addChild(model);
        model.gotoAndPlay("spawn")
        model.y = setY;
        model.x = setX;
        realHeight = model.height;
        realWidth = model.width;

        shadow.scaleX = model.scaleX + 0.1;
        shadow.scaleY = model.scaleY;
        shadow.x = (model.hitBox.width/2)+6-(shadow.width/2);
        shadow.y = (model.hitBox.height)-9;

        model.setChildIndex(shadow, 0);

        model.addChild(hpBar);
        hpBar.addChild(hpBarColor);
        hpBarColor.scaleY = 0.9;
        hpBarColor.scaleX = 0.97;
        hpBarColor.y = 1;
        hpBarColor.x = 1;
        hpBar.scaleY = 0.7;
        hpBar.x = (model.hitBox.width/2)+5-(hpBar.width/2);
        hpBar.y = (model.hitBox.height)+(hpBar.height);

        model.hitBox.visible = false;
    }
主要类别:

public static function spawnEnemy(setX:int,setY:int, inRoom:MovieClip, t:int = 0):void
    {
        //trace(setX,setY)
        var temp:Enemy = new Enemy();
        temp.spawn(setX,setY, inRoom, t);
        allEnemies.push(temp);
    }
当我跟踪变量时,如果我用引起错误的行猜测,它将返回[object MC_uu“myMovieClip”]

看起来像是你的
呼叫

Main.spawnEnemy(roomX+Main.getRandom(50, room.width-50),//int
                generatedRoom[createdRooms],//a MovieClip?
                roomY+Main.getRandom(50, room.height-50)//int
                );//(int, MovieClip(?), int)
没有正确的参数顺序:

spawnEnemy(setX:int,
           setY:int, 
           inRoom:MovieClip, 
           t:int = 0)//(int, int, MovieClip)

提示:不要在
Main
上将所有内容都设置为
静态
函数。数学效用函数应为顶级函数或包含类似效用函数的单独类。生成敌人将最终改变对象的状态,它不应该是静态的。编辑以添加功能。“敌人产卵”几乎是一次性代码,我想首先让它工作。现在添加错误发生的行和堆栈跟踪。噢,哇,非常感谢,是的,我以错误的顺序调用了参数。