getDefinitionByName/getQualifiedClassName/getQualifiedSuperclassName

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章