いろいろ開発をしていて、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);
    };
}

 

 

Check