如何将第1帧的数组用于另一帧?

时间:2016-05-14 12:12:02

标签: arrays actionscript-3

当我要在第2帧画下一个舞台时,我的敌人什么也没做。 当stage1完成后,我删除了监听器,在第2阶段我将其添加回来。

那么,我怎样才能将第1帧的数组用于另一帧?

 stop();
    var enemy1Array:Array = new Array();   
    for (var e1:int = numChildren - 1; e1 >= 0; e1--)
    {
    var childe1:DisplayObject = getChildAt(e1);
    if (childe1.name.indexOf("enemy")>-1)
    {
    enemy1Array.push(MovieClip(childe1));
    MovieClip(childe1).hitPoints=enemykoufoueshitpoints;
    }
    }
    stage.addEventListener(Event.ENTER_FRAME,loop);
    function loop(event:Event):void
    {
    for(var e:int=enemy1Array.length-1;e>=0;e--) 
    {
    if (playerrun == true)
    {
    enemy1Array[e].x -=speedall;
    }
    if (playerrunback == true)
    {
    enemy1Array[e].x +=speedall;
    }
    if (enemy1Array[e].hitTestPoint(player.x+5,player.y-40))
    {
    trace("i heart the player");
    zoihit++;
    enemy1Array[e].x +=70;
    enemy1Array[e].gotoAndPlay(1);
    }
    if (enemy1Array[e].hitTestPoint(player.x-5,player.y-40))
    {
    trace("i heart the player");
    zoihit++;
    enemy1Array[e].x -=70;
    enemy1Array[e].gotoAndPlay(1);
    }
    if (enemy1Array[e].hitTestObject(knife)&&attackright == true)
    {
    attackright = false;
    enemy1Array[e].hitPoints -= knifedamage;
    enemy1Array[e].gotoAndPlay(1);                  
    }
    if (enemy1Array[e].hitTestObject(knife)&&attackleft == true)
    {
    attackleft = false;
    enemy1Array[e].hitPoints -= knifedamage;
    enemy1Array[e].gotoAndPlay(1);                  
    }
    if (enemy1Array[e].hitPoints <= 0)
    {               
    var thkiamantoui:thkiamanti= new thkiamanti;
    diamondArray.push(thkiamantoui);
    this.addChild(thkiamantoui);
    thkiamantoui.gotoAndStop(2);
    thkiamantoui.x = enemy1Array[e].x;
    thkiamantoui.y = enemy1Array[e].y-5.05;
    enemy1Array[e].parent.removeChild(enemy1Array[e]);
    enemy1Array.splice(e,1);               
    }
    if(enemy1Array[e].hitTestObject(dioswall))
    {                   
    enemy1Array[e].parent.removeChild(enemy1Array[e]);
    enemy1Array.splice(e,1);
    }               
    } 
    if(stage2.hitTestObject(playerhit))
    {
    stage.removeEventListener(Event.ENTER_FRAME,loop);
    gotoAndPlay(2);
    }
    }

0 个答案:

没有答案