[ AS3 ] removeEventListenerと無名関数 - 08/08/12 12:19
addEventListenerで無名関数を使う場合、「removeEventListenerの時に名前が関数名がわからんよ。」ってなるのを何とかする方法。
arguments.calleeで実行中の関数を取得できるので、これを使えばよろし。
「arguments」の「s」が抜けたり「callee」の綴りがあやしかったりするのでメモがてら残しておく。
mc.addEventListener(
MouseEvent.ROLL_OVER,
function(me:MouseEvent):void{
trace("roll over");
mc.removeEventListener(MouseEvent.ROLL_OVER, arguments.callee);
} );
サンプルは、ステージにムービークリップmcを置いて、タイムラインに上のコードを書くだけ。ロールオーバーを1回しか取らないようにしてみた。
自分としての使いどころは、簡単なENTER_FRAMEの終了に使ったり、1回きり有効なクリックの時に使ったりとそんな感じ。
« [ web ] 退出リンクの先 | ブログトップ | [ AS3 ] TweenMax.sequenceかわいいよ »
トラックバックURL :
コメント投稿
(´・ω・`) flash表示できんよ。