2008年04月03日
addEventListener のハンドラに trace
ちょっと便利だと思った Tips。
そっか。イベントの発生内容見るのって直に trace 渡して問題ないんだ。 addEventListener( Event.COMPLETE, trace ); わざわざ匿名関数作ってた。
— taka:niumさん (@nium) 3月 27, 2008
確かにこれは楽だ。trace は引数をいくつでも取れるから、こういう技が使えるのか!
例えば、
stage.addEventListener("click", trace);
とすると
[MouseEvent type="click" bubbles=true cancelable=false eventPhase=1 localX=74.4 localY=16.45 stageX=74.4 stageY=16.45 relatedObject=null ctrlKey=false altKey=fa lse shiftKey=false delta=0]
となる。素敵。ちょっとしたデバッグに便利かもしれん。
別の便利関数。
@nium function t(f:Function) { return function(e:Event) { trace(e); f(e); } を作っておいて、addEventListener('event', t(myHandler)); とか
— Yoshihiro Shindoさん (@beinteractive) 3月 27, 2008
@nium function w(f:Function) { return function(e:Event):void { f(); } とか何か面白いかもね
— Yoshihiro Shindoさん (@beinteractive) 3月 27, 2008
前者は任意の関数にログを差し込む、後者は引数無しの関数をイベントハンドラに変える
— Yoshihiro Shindoさん (@beinteractive) 3月 27, 2008
あったら便利かも。
以上、他人の発言を勝手にエントリにするメソッドでした。nium さん、beinteractive さん、ありがとう!