1、getDefinitionByName
如果你已知这个类的类名类路径,但是你又没办法得到这个类的原型,那么可以通过该函数,将已知的类名类路径转换为类的原型,然后还可以将得到的类原型进行实例化
eg1:
新建一个Sprite的子类BlackRect,代码如下:
package
{
import flash.display.Sprite;
public class BlackRect extends Sprite
{
public function BlackRect(w:uint = 100, h:uint = 100)
{
graphics.beginFill(0x000000);
graphics.drawRect(0, 0, w, h);
}
}
}
Main.as
package {
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
public class Main extends Sprite {
public function Main() {
var temp:BlackRect;
//定义一个该类型的变量才行(不用实例化,那样会浪费系统资源)
var backClass:Class=getDefinitionByName("BlackRect") as Class;
addChild(Sprite(new backClass()));
}
}
}
2、getQualifiedClassName
获取这个实例的类名
3、getQualifiedSuperclassName
获取自己父类的类原型
eg2:比如我在舞台上 放了一个MC 实例名叫:mc 类名为:Mymc
trace(getQualifiedClassName(mc)) //输出: Mymc
trace(getQualifiedSuperclassName(mc)); //输出: flash.display::MovieClip