如何从库中动态添加对象?

Ada*_*ski 3 flash actionscript-3 movieclip

我在Library中有很少的MovieClip,我想制作将它们加载到舞台中的功能.我的问题是我找不到与为每个MovieClip制作单独的函数不同的解决方案.我正在寻找类似的东西:

function addAnyClip(name){
  //create new object 'name'
  stage.addChild(chosenObject);
  rest of code
}
Run Code Online (Sandbox Code Playgroud)

因为它比以下更好:

function addClip1(){
  var mc1:Clip1 = new Clip1;
  stage.addChild(mc1);
  ///rest of code
}

function addClip2(){
  var mc1:Clip2 = new Clip2;
  stage.addChild(mc2);
  ///rest of code
}

function addClip3(){
  var mc1:Clip3 = new Clip3;
  stage.addChild(mc3);
  ///rest of code
}
...
Run Code Online (Sandbox Code Playgroud)

M. *_*ing 5

考虑使用 getDefinitionByName

您可以执行以下操作:

var mcClass:Class = getDefinitionByName("NameOfClipInLibrary")

然后只需创建一个类类型的新对象 mcClass

以下是一些帮助解释如何使用它的链接... http://www.jesseknowles.com/blog/dynamically_attaching_movieclips_in_as3/

http://www.emanueleferonato.com/2011/03/31/understanding-as3-getdefinitionbyname-for-all-eval-maniacs/