0

2 レベル、3 シーンのゲームを作っています。最後のシーンの後、最初のシーンで最初に戻ります。問題は最後のシーンにあります。このコードで、撮影対象となる 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;
    }

2番目のシーンに行くまで、最初のシーンで何度も何度も戻ってくることがわかりました。私は非常に多くのコードを試し、それらを一日中非常に多くの場所に配置しました。私が望むのは、インターバルコードを使用する時間が経過した後にそれらを削除することです。

私が試したこと、例えば:

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;

もうどうすればいいですか?

4

1 に答える 1

0

わかりました...ループさせたMC(ムービークリップ)を取り除く方法の答えを見つけることができたので、ここに答えを投稿します。今回は2シーンあるので1つ目はMCのあるシーン、もう1つはMCをやめたいシーン

それを停止するには、2 番目のシーンに移動し、#1 のシーンに挿入したような for-code をフレームに追加します。

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

コードを変更する必要があることに注意してください。

// delete _root..... << を使用すると、以前はうまくいきませんでした。このコードは、関数と、手動で画面に配置されていないすべての mc をすべて削除し、画面の左上 :P 私にも起こりました。

于 2013-01-31T14:55:10.617 に答える