いろいろ開発をしていて、EventListenerに引数を渡せると便利だということが多々ある。とっても良くあるので、ここにメモを残しておく。
これができると、大量のオブジェクトを扱う時、いちいち e.target.name で名前をとって、対応するIDを算出して...とかする必要がなくなる。便利君である。
btn1.addEventListener( MouseEvent.MOUSE_OVER, onMouseOver(1));
btn1.addEventListener( MouseEvent.MOUSE_OUT, onMouseOut(1));
btn1.addEventListener( MouseEvent.CLICK, onMouseClick(1) );
btn2.addEventListener( MouseEvent.MOUSE_OVER, onMouseOver(2));
btn2.addEventListener( MouseEvent.MOUSE_OUT, onMouseOut(2));
btn2.addEventListener( MouseEvent.CLICK, onMouseClick(2) );
function onMouseOver(id:int) {
return function (e:MouseEvent):void{
trace("over : "+id);
};
}
function onMouseOut(id:int) {
return function (e:MouseEvent):void{
trace("out : "+id);
};
}
function onMouseClick(id:int) {
return function (e:MouseEvent):void{
trace("click : "+id);
};
}
btn1.addEventListener( MouseEvent.MOUSE_OUT, onMouseOut(1));
btn1.addEventListener( MouseEvent.CLICK, onMouseClick(1) );
btn2.addEventListener( MouseEvent.MOUSE_OVER, onMouseOver(2));
btn2.addEventListener( MouseEvent.MOUSE_OUT, onMouseOut(2));
btn2.addEventListener( MouseEvent.CLICK, onMouseClick(2) );
function onMouseOver(id:int) {
return function (e:MouseEvent):void{
trace("over : "+id);
};
}
function onMouseOut(id:int) {
return function (e:MouseEvent):void{
trace("out : "+id);
};
}
function onMouseClick(id:int) {
return function (e:MouseEvent):void{
trace("click : "+id);
};
}