1

我创建了一个正方形并将其保存为一个名为 starContainer 的影片剪辑,我将其中的三个拖到舞台上,并在我的 flash cs6 中为每个实例命名 - goldStarContainer1、goldStarContainer2 和 goldStarContainer3。

在我的图书馆里,我还有一个名为 goldStar 的金星的电影剪辑

现在我想做一个 if else 语句,如果它是真的,将金星添加到正确的 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,但它一直给我错误:通过静态类型Class的引用调用可能未定义的方法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 回答