作者justaID (快樂崇拜)
看板Flash
標題[問題] AS3有能回傳畫面上某物件的變數名稱&匯出類別的API嗎?
時間Fri Aug 6 18:52:27 2010
自己翻閱API找不到,不知道是真的沒有還是在下眼拙 囧>
特來請教先進:
我現在畫面上有一個物件
變數名稱是"a1"
該物件在元件庫的匯出類別叫"AAA"
然後我對a1物件加上事件監聽:
a1.addEventListener(MouseEvent.CLICK, fc);
function fc(e:MouseEvent){
trace(@@@);
trace(###);
}
我想在@@@的地方,印出事件對象(e.target)的變數名稱=a1
在###的地方,印出事件對象(e.target)的類別名稱=AAA
請問有沒有相關的函式可用?
我現在的作法,是另外呼叫一個函式來判別類別名稱並回傳String
如:
function fc(e:MouseEvent){
trace(wc(e.target));
}
function wc(x:Object):String{
if(x is AAA) return "AAA";
else if(x is BBB) return "BBB";
else return "error";
}
但當需要判別的類別種類一多,比如說有10幾種匯出類別("AAA" "BBB"..."GGG")
一長串的if判斷,覺得好像對效能很傷
又覺得這應該是一個很常用的功能,照理會有可用的函式
此外印出變數名稱這點,我完全沒輒 Orz
請問AS3對於以上這兩個功能,有沒有相對的函式可用?
(敘述有點攏長,感謝耐心看完)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.241.242
※ 編輯: justaID 來自: 118.170.241.242 (08/06 18:53)
→ aquarianboy:你要的是把物件內容dump出來的效果嗎? 08/06 19:27
→ justaID:不太了解dump的意思,但我想應該不是 08/06 23:29
→ justaID:我想要的是能知道畫面上某個物件的變數名稱和其類別名稱 08/06 23:30
→ aquarianboy:你要的是typeof() 嗎? 08/07 00:52
推 cjcat2266:describeType() ? 08/07 01:03
→ anami:trace(e.currentTarget.name); 實體變數名稱 08/07 14:35
→ anami:trace(getQualifiedClassName(e.currentTarget)); 類別名稱 08/07 14:36