うむるむ

うむるむ はユーザー様にとって中途半端に役に立ち、また、ほとんど身の無い話題、情報を提供することがまれにあります。



[ 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 :

コメント投稿

名前:
コメント:



管理人 um(うむ)@web界の名もなき底辺労働者
サイト うむるむ http://umroom.com/
連絡先 umroom@gmail.com