Flash AS2:如何删除作为循环的mc?

时间:2013-01-27 13:18:15

标签: flash for-loop actionscript-2 scene mc

我正在制作一个有2个等级,3个场景的游戏。 在最后一个场景之后,它将在第一个场景回到开头。 问题出在最后一个场景中,我制作了一个MC循环,这些MC是使用此代码进行拍摄的目标:

for(i=1;i<=numTarget;i++){
    tar=_root.attachMovie("mcTarget","t"+i,i);
    tar._x=random(Stage.width);
    tar._y=-random(Stage.height);
    tar._xscale=random(50)+50;
    tar._yscale=tar._xscale;
    tar.onEnterFrame=targetRun;
}

function targetRun(){
    this._y+=spdTarget*(this._xscale/100);
    if(this._y>Stage.height){
        this._x=random(Stage.width);
        this._y=-this._height;
    }

我发现他们在第一个场景中一次又一次地回来,直到我进入第二个场景。我尝试了这么多代码,现在把它们放在很多地方。我想要的是在我使用Interval代码的时间之后删除它们。

我尝试了什么,例如:

tar=delete _root.attachMovie("mcTarget","t"+i,i);
    mcTarget.swapDepths(_root.getNextHighestDepth(0));
    mcTarget.removeMovieClip();

或更改一些金额

numTarget=0;

或在真正的第一个场景之前创建一个假场景。也是这段代码,

_root.tar.swapDepths(_root.getNextHighestDepth());
    _root.tar.removeMovieClip();

mcTarget._visible=false;
_root.tar._visible=false; 
tar._visible=false;

我还能做什么?

1 个答案:

答案 0 :(得分:0)

好的...因为我能找到如何摆脱我制作循环的MC(电影剪辑)的答案,我将在这里发布答案。 在这种情况下有2个场景,所以第一个是具有MC的场景,另一个是我想要停止MC的场景

要停止它,请转到第二个场景并添加代码,就像将#1场景放入帧中一样

   for(i=1;1<=numTarget;i+1){
delete this["t"+i"].onEnterFrame;
this["t"+i].removeMovieClip();
}

请注意,您必须按照自己的规定更改代码。

//使用delete _root .....&lt;&lt;以前我以前没做过,有人说过,因为这段代码都会删除该功能,并且所有没有手动放置在屏幕上的mc并将其粘贴在屏幕的左上角:P It确实发生在我身上。