在AS2中,我当然可以这样做:
var instance = new MyClass();
但有没有办法做这样的事情?
var constructor = MyClass;
var instance = new constructor();
这似乎可以在AS3中通过在Class对象的实例上调用“new”来实现,但是我无法弄清楚在AS2中使用它的语法是什么。
答案 0 :(得分:0)
你可以这样做:
首先,您必须声明该类以将其包含在swf中。
var toto:YOUR_CLASS;
接下来你可以通过以下方式获得一个实例:
var instance = new["directory.subdirectory.YOUR_CLASS"]();
编辑:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:at="at.controls.*" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.rpc.remoting.mxml.RemoteObject;
private function init():void {
var obj:Object = ObjectLoader.getInstanceOf(RemoteObject);
}
]]>
</mx:Script>
</mx:Application>
ObjectLoader:
package {
public class ObjectLoader {
public function ObjectLoader(){
}
public static function getInstanceOf(cl:Class):Object {
return new cl;
}
}
这是一个新的例子。我创建了一个RemoteObject实例。 }