除getChildByName()之外的其他获取实例的方法

时间:2010-07-07 14:13:38

标签: flash actionscript-3

我有很多MovieClip,每个都有一个像“mcDummyClosed”这样的名字,然后是实例名称“slideDummyClosed”。另一个MovieClip有一个指向例如slideDummyClosed然后我调用DummyClosed。我将一个MouseEvent.CLICK事件添加到DummyClosed。

现在没有将slideDummyClosed添加到舞台上,也没有任何其他MovieClip可以使用包含它的名字的字符串获取该实例吗?

我尝试过使用getChildByName(),但是如果我之前添加了要找到并添加的MC,那么它似乎才有效。 我的代码看起来像这样:

public function lookHere(e:MouseEvent){
    //this is the function called by e.g. DummyClosed
    currentView.removeChildAt(0); //remove the MC that was here before
    var slideName:String = 'slide' + e.target.name; //the name of the instance

    currentView.addChild(??); //how do I add slideName (e.g. slideDummyClosed) here?
}

2 个答案:

答案 0 :(得分:1)

getDefinitionByName()可能会在这里工作。它看起来像你想要的,但我从来没有亲自使用它。

答案 1 :(得分:0)

我认为你想找到一个特定的动画片段,只需使用“e.target.name”中的名字吗?

我认为你不要点击你想修改的同一个目标。 一种解决方案是将所有mc保存在一个数组中,然后循环比较它们的名称,然后返回匹配的名称。