0

非常感谢你花时间陪伴!这是我的问题,...

public function addNewMc():void{
    var newMC:MovieClip= new MovieClip();
    this.addChild(newMC);
}
public function removeOldMc(newMC):void{
    this.removeChild(newMC);
}

如何在一个方法中创建一个新的 MovieClip,它可以在整个类中使用,而不是在类的顶部定义它?并且对于加分,不使用返回。

我可以让它工作,如果第一个函数 addNewMc 返回值 newMC,并将其传递给任何其他方法......但是对于我正在写的内容,我希望用其他东西用完我的回报。谢谢!

4

1 回答 1

0

不知道我是否完全理解你,但听起来你想要访问动态创建的影片剪辑而不明确定义它?!是对的吗?如果是这样,那么你可以做你现在所拥有的,但添加一个检索方法:

public function addNewMc():void{
    var newMC:MovieClip= new MovieClip();
    this.addChild(newMC);
}

public function getMC():MovieClip
{
    var len:uint = this.numChildren;
    while(len--)
    {
      var tempObj:* = this.getChildAt(len);
      if(tempObj is MovieClip)
         return MovieClip(tempObj);
     }
     return null;
}

您还可以向动态创建的影片剪辑添加名称属性:

public function addNewMc():void
{
    var newMC:MovieClip= new MovieClip();
    newMC.name = "new_MC";
    this.addChild(newMC);
}

然后你可以像这样检索:

this.getChildByName("new_MC");

再次不知道我是否理解您的确切要求,埃里克欢呼;)

于 2010-02-09T06:40:44.697 回答