2012-02-19 6 views
0

一連の複製されたムービークリップが配列に格納されているため、いずれかのショットが敵のMC。ただし、Flashでは、ムービークリップのプロパティやメソッドにアクセスすることはできません。AS2-私のムービークリップは配列に格納されていますが、プロパティやメソッドにはアクセスできません。

function checkHits(){//checks for hits between enemies and bullets 
for (var zz = 0; zz < bulletArray.length; zz += 1)//checks for each bullet 
{ 
for(var yy=0;yy<enemiesArray.length;yy+=1){//checks for each enemy 
    trace("enemies loc"+yy+":"+enemiesArray[yy]); 
    trace("bullet loc"+zz+":"+bulletArray[zz]); 
    if(bulletArray[zz].hitTest(enemiesArray[yy])){ 
     trace("HIT!"); 
     removeMovieClip(bulletArray[zz]); 
     removeMovieClip(enemiesArray[yy]); 
     bulletArray.splice(zz,1); 
     enemiesArray.splice(yy,1); 
     }//end if 
}//end for 
}//end for 

これはこれまでのフレームで実行され、anythignがヒットしているかどうかを確認するコードです。 hitTestは登録されませんが、hitTestオブジェクトを変更した場合、removeMovieClipは機能します。オブジェクトを正常に参照できますが、どのプロパティにもアクセスすることはできません。私が試してみると、彼らはいつも未定義になる。

参考のため、ここでは弾丸生成のコードを示します。これらの関数は両方ともルートレベルの関数であることに注意してください。

function dupeCircle() 
{ 
//trace("Dupe circle initiated"); 
duplicateMovieClip(circlebase, "circle" + circleCount, circleCount); 
bulletArray.push("circle" + circleCount); 
trace(bulletArray[0]._width); 
circleCount += 1; 
} 
+0

私はあなたの質問に言い換えると、助けを求める必要があると思います。私が理解しているように、あなたは問題のコードを共有しておらず、 "そのプロパティやメソッドにアクセス"しています - "hitTestオブジェクトを変更した場合、removeMovieClipは機能します" - 質問? –

+0

たとえば、trace(bulletArray [0] ._ width)は "undefined"を返しますが、removeMovieClip(bulletArray [0])はステージからオブジェクトを削除します。そして、私がhitTestオブジェクトを変更すると言うと、オブジェクトのインスタンス名である "circle0"と "wiggler0"を単に配列から取り除くのではなく変更すると、 – Nick

+0

bulletArray.push( " circle "+ circleCount)は、MovieClipの参照を追加するのではなく、" circle1 "のような文字列を配列に追加しますか? duplicateMovieClip()は、AS2を正しく覚えていれば、作成したMovieClipへの参照を返します。そのため、ローカル変数に格納して、配列に追加することができます。 –

答えて

0

あなたは、ライブラリ内のクリップのインスタンスを作成するのではなく、既に作成されたオブジェクトをコピーしている場合は代わりにduplicateMovieClipattachMovie()を使用したいと思うように思えます。その場合は、作成コードを次のように書き換えます。

+0

グローバルなクラスではなくクラスベースのメソッドを使用して実際に解決しました。しかし、とにかくありがとう – Nick

0

私はそれを解決しました。これは、クラス・バージョンではなく、グローバル・バージョンのduplicateMovieClioを使用していたためです。再度、感謝します!

関連する問題