在AS3中是否可以创建'API'来添加动画片段/位图?我试过这样做:
public function addImage(name:String, x:int, y:int, type:String = "MovieClip", path:String = null) {
var mc:MovieClip;
if (type == "MovieClip") {
var $name = "as_" + name + "()"
mc = new $name;
trace(mc);
}
else if (type == "Bitmap") {
}
}
但是它出错:
TypeError: Error #1007: Instantiation attempted on a non constructor
有没有正确的方法呢?或者是不可能以这种方式将影片剪辑添加到舞台上?
答案 0 :(得分:3)
$name
是String
的一个实例。为了实例化对象,您需要的是对Class
的引用,您可以通过将类名传递给flash.utils.getDefinitionByName
来获得。
试试这个:
var className:String = "as_" + name;
var MyClass:Class = getDefinitionByName(className) as Class;
mc = new MyClass();