快速連結

2011年2月24日

動態取得類別

引用來源: AS3动态获得类名及类的方法_蓝调の梦想_百度空间

一般來說,想要獲取類別,大多是這麼寫的:
假設該類別名稱為mcClass...


var mc:MovieClip = new mcClass();
addChild(mc);

但是如果我有mcClass1、mcClass2、mcClass3、mcClass4.....
然後依照不同的情況加入不同的類別呢?

用if 或是 switch 都會變得很麻煩...
不麻煩又簡潔有力的方法如下:


import flash.utils.getDefinitionByName;
import flash.display.MovieClip;

...
...

  function init(){
    addMc("mcClass1");
  }

  function addMc(class_name:String){
    var _class:Class = getDefinitionByName(class_name) as Class;
    var mc:MovieClip = new _class();
    addChild(mc);
  }

還可以用在縮減class長度的地方:

import flash.utils.getDefinitionByName;
import com.bear.mindclass;

...
...

  function init(){
    var _class:Class = getDefinitionByName("com.bear.mindclass") as Class;
    var mc:MovieClip = new _class();
    addChild(mc);
  }

沒有留言:

張貼留言

歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT