我创建了一个数组。每个元素都是一个按钮对象。是否有可能同时在每个阵列上挂钩鼠标?我的意思是这样的。
var Objects:Array = new Array
Objects[0] = new button(parameters)
Objects[1] = new button(parameters)
Objects[2] = new button(parameters)
Objects[n].addEventListener(MouseEvent.CLICK, Clicked(n));
function Clicked(n,...)
{
THECODE PROCEEEEDS for Objects[n]
}
我知道这不是最清晰,最正确的写作,但我问这是否有可能以类似的方式进行?怎么做?我知道我可以挂钩每一个鼠标点击然后检查鼠标下方点击是否是带有for循环的数组元素之一,但我问这个问题。
答案 0 :(得分:0)
是。您无法直接将索引传递给侦听器,但您可以通过调用其中的indexOf()
来检索它。
for each (b in Objects) b.addEventListener(MouseEvent.CLICK, clicked);
// note, you just put function name here!
public function clicked(e:MouseEent):void {
var i:int=Object.indexOf(e.target);
if (i==-1) {
// panic behavior
return;
}
// now you can parse that index into something valuable
}