我正在制作一个有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;
我还能做什么?
答案 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确实发生在我身上。