2010-05-26 60 views
1

我得到了一個在flash中設計的歐洲地圖(1個movieclip,1個框架,非常簡單),它包含直接在場景內的地圖作爲繪圖對象,另外還有一些特定的國家可點擊按鈕。到目前爲止,它工作正常。我現在需要的是讓所有其他繪圖對象可點擊,而無需編輯和編寫每個對象。我正在考慮這樣的東西(僞代碼):Actionscript 3:foreach在movieclip中繪製對象

foreach(obj in MovieClip) { 
    if(obj !typeof(Button)) { 
     obj.addEventListener(MouseEvent.MOUSE_DOWN, genericClickListener); 
    } 
} 

我只是不知道如何實現這一點的語法。有人可以給我一個提示嗎?

感謝, 馬蒂亞斯

回答

1

試試這個:

function genericClickHandler(event:Event):void { 
    trace('clicked'); 
} 

// loop through all children 
for (var i:int = 0; i < numChildren; i++) { 
    var child:Object = getChildAt(i) as Object; 
    // check if display is not a button and check if it has a buttonMode property 
    if (!(child is SimpleButton) && child.hasOwnProperty('buttonMode')) { 
    child.buttonMode = true; 
    child.addEventListener(MouseEvent.CLICK, genericClickHandler, false, 0, true); 
    } 
} 
+0

遺憾的是它並沒有選擇普通的圖形對象,而是將所有的相關領域爲符號是幾分鐘的事做。非常感謝解決方案:) – maff 2010-05-26 11:22:22

+0

歡迎您。很高興知道它爲你工作。 – Shiki 2010-05-26 12:26:03