我有一个用flash设计的欧洲地图(1个动画片段,1个帧,非常简单),它包含地图作为直接在场景内的绘图对象,另外还有一些特定国家作为可点击按钮。到目前为止它工作正常。我现在需要的是使所有其他绘图对象都可以点击,而无需编辑和编写每个对象。我正在考虑这样的事情(伪代码):
foreach(obj in MovieClip) {
if(obj !typeof(Button)) {
obj.addEventListener(MouseEvent.MOUSE_DOWN, genericClickListener);
}
}
我只是不知道如何实现它的语法。有人能给我一个暗示吗?
谢谢, 的Mathias
答案 0 :(得分: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);
}
}