Flash actionscript 2删除连接MovieClip

时间:2013-05-08 13:39:23

标签: flash random actionscript-2 movieclip

我正在制作一个横幅,在横幅中我有一个电影剪辑,它从动作脚本中的库链接并调用“mcHelmet”。我需要它出现在x轴上的随机位置,它从上到下移动(如下雨)。

问题是25秒后'我希望它会转到另一帧(10) 并且“mcHelmet”将消失。 一切正常,只要“mcHelmet”无论我使用什么代码都拒绝消失; 删除,r​​emoceMovieClip,使用函数无效。

我需要帮助。

这是我使用的代码:

onEnterFrame = function (){
url_btn.onRollOver = btn.onDragOver = function (){
        startDrag(mc_girl,true,10,186,270,131);
        mc_girl._x = _xmouse;

        if(_xmouse < mc_girl.width /2){
            mc_girl._x = 0;
        }

        if(_xmouse > stage.width - mc_girl.width /2){
            mc_girl._x =Stage.width - mc_girl._width;
        }
        if(mc_girl._x <= 0){
            mc_girl._x += mainSpeed;
        }
        if(mc_girl._x >= Stage.width - mc_girl._width){
            mc_girl._x -= mainSpeed;
        }

        StopTimer();
    }

//this function will run every frame (needed for moving the character
HelmetTime++;
//incrementing time for enemy
if (HelmetTime == HelmetLimit)
{
    //if enough time has elapsed
    _root.attachMovie('mcHelmet','en' + HelmetTotal,_root.getNextHighestDepth());
    //then add the enemy
    //setting it's coordinates
    _root['en' + HelmetTotal]._x = int(Math.random() * Stage.width);
    //randomly within the boundaries
    _root['en' + HelmetTotal]._y = -50;
    //sets this offstage at first
    _root['en' + HelmetTotal].onEnterFrame = function()
    {
        //then give it some functions
        this._y += 4;
    }
    HelmetTime = 0;
    //reset the time
    HelmetTotal++;
    //add 1 more to the amount of enemies total

}
}   

1 个答案:

答案 0 :(得分:1)

要删除你放在舞台上的最后一个mc,我建议使用一个变量或数组;数组就足够了:

            var myMovieclips_holder:Array = new Array();
            //everytime you add a mc to stage ,also add it here 
            addchild(myMovieClip)
            myMovieclips.push(myMovieClip);

现在你的MovieClip将存储在array();

             trace( myMovieclips_holder) // array[0] Movie clip , array[1] etc

让我们删除最后一个剪辑:

              var  i = myMovieclips_holder.length - 1
              myMovieclips_holder[i].parent.removeChild(myMovieclips_holder[i]);  

这应该删除嵌套它的数组nomatter中的最后一项 为我工作。