0

ゲーム用に村人を生成し、それらをリストにまとめたいのですが、少し苦労しています。親族を生成するためのコードは次のとおりです。

var k = new kinsmen  ;
menuArea.kinsmenDivider.addChild(k);
totalKinsmen++;
totalKinsmenAlive++;
k.name = "kinsmen" + totalKinsmen;

それらをソートするために使用されるコードは次のとおりです。

for (var i:int = 1; i < (totalKinsmen+1); i++) {
if (menuArea.kinsmenDivider.getChildByName("kinsmen"+i) !=null) {
    menuArea.kinsmenDivider["kinsmen" + i].y = menuItemCount * 107.5;
    menuItemCount++;}}

それは、これまでに存在したすべての親族の ID を調べて、生きている人の ID を見つけると、メニュー内の場所を与えて、他の ID を調べ続ける必要があります。

trace ("kinsmen" + totalKinsmen);
trace (menuArea.kinsmenDivider.getChildByName("kinsmen"+i));

私のテストでは、どちらも常に同じ値を持っています。デバッガーは、実行時に次のエラーを通知します。

TypeError: Error #1010: A term is undefined and has no properties.

["kinsmen" + i] を削除すると、エラーが発生しなくなり、新しいkinsmenが生成されるたびにメニュー全体が下に移動するので、それが問題の原因であることはわかっていますが、その理由や修正方法はわかりません。上記のコードはすべて私の文書クラスにあります。数日前に AS3 のコーディングを始めたばかりなので、まだ少し不安定です。読んで乾杯。

4

1 に答える 1

1

を除くすべての場所でクリップに正しくアクセスします

menuArea.kinsmenDivider["kinsmen" + i].y

そうではないでしょうか:

menuArea.kinsmenDivider.getChildByName("kinsmen" + i).y
于 2013-01-26T06:00:09.463 に答える