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