うむるむ

うむるむ は主に flash 周りの話と美少女ゲーム系の話の二本立てで構成されています。



[ AS3 ] removeEventListenerと無名関数 - 08/08/12 12:19 by um

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 ] 退出リンクの先 | ブログトップ | [ GreenSock ] TweenMax.sequenceかわいいよ »

関連記事

トラックバックURL :




管理人 um(うむ)@web界の底辺労働者
連絡先 umroom@gmail.com
twitter http://twitter.com/umroom