1

正方形を作成し、starContainer という名前のムービークリップとして保存し、そのうちの 3 つをステージにドラッグして、フラッシュ cs6 でそれぞれ 1 つのインスタンス名を付けました - goldStarContainer1、goldStarContainer2、goldStarContainer3 という名前。

私のライブラリには、goldStar という金の星のムービークリップもあります。

今、私は if else ステートメントを実行したいと思います。それが true の場合は、金の星を右の starContainer に追加します。

public var starScreen:starScreen;

参考までに // 動的な starScreen MovieClip はクリックで追加されます

for( var i:int = 1; i < 4; i++ )
{
    var levelNumStarNum:String = "L1star"+i;
    var goldStarOnPage:goldStar = new goldStar();

if( shared.data[levelNumStarNum] == undefined )
{
    // add no stars
}
else if( shared.data[levelNumStarNum] == 1 )
{
    // this works
    starScreen.goldStarContainer1.addChild(goldStarOnPage);
}
// but i would like to do something like this...

starScreen.goldStarContainer[i].addChild(goldStarOnPage);

getChildByName を試してみましたが、エラーが発生し続けます: 静的型クラスの参照を介して未定義の可能性があるメソッド getChildByName を呼び出します。

4

1 に答える 1

1

これを変更してみてください:

starScreen.goldStarContainer1.addChild(goldStarOnPage);

これに:

DisplayObjectContainer(DisplayObjectContainer(starScreen).getChildByName("goldS‌​tarContainer"+i)).addChi‌​ld(goldStarOnPage);

そして、それが役立つかどうかを確認してください

于 2013-05-25T12:07:07.653 に答える