主にFlashのTIPSを紹介するページです。
カレンダー
カテゴリー
最新記事
最古記事
(03/04)
(03/04)
(03/09)
(03/09)
(03/18)
ブログ内検索
P R
アクセス解析
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
通常「addEventListener」を使うときは
addEventListener(イベントタイプ, 関数名);
と記述し、イベントが発生したら「関数名」で指定した関数が呼び出される。
そして処理が終わったら「removeEventListener」で削除する。
removeEventListener(イベントタイプ, 関数名);
これが基本パターンだが「関数名」の箇所に直接処理を書いてしまうこともできる。
↓こんな感じ
addEventListener(イベントタイプ, function(e:Event):void{ trace("hoge"); });
しかしこうすると、この関数は名前を持たないので「removeEventListener」する時に困ってしまう。
これを解決するには「arguments.callee」を使う。
↓こんな感じ
removeEventListener(イベントタイプ, arguments.callee);
※「arguments.callee」のヘルプを見ると「現在実行中の関数への参照です」と記述されている
[プログラム例]:traceを10回実行して、終了する
public function Main()
{
var cnt:int = 0;
addEventListener(Event.ENTER_FRAME,
function(e:Event):void
{
trace("count:"+cnt);
cnt++;
if(cnt==10)
{
removeEventListener(Event.ENTER_FRAME, arguments.callee);
}
}
);
}
本当はちゃんと関数を作った方がいいんだろうけど「フラグをセットするだけ」とか、単純な使い方ならプログラムがスッキリする気がしないでもない。。。
でも、あまり使わないかな?
addEventListener(イベントタイプ, 関数名);
と記述し、イベントが発生したら「関数名」で指定した関数が呼び出される。
そして処理が終わったら「removeEventListener」で削除する。
removeEventListener(イベントタイプ, 関数名);
これが基本パターンだが「関数名」の箇所に直接処理を書いてしまうこともできる。
↓こんな感じ
addEventListener(イベントタイプ, function(e:Event):void{ trace("hoge"); });
しかしこうすると、この関数は名前を持たないので「removeEventListener」する時に困ってしまう。
これを解決するには「arguments.callee」を使う。
↓こんな感じ
removeEventListener(イベントタイプ, arguments.callee);
※「arguments.callee」のヘルプを見ると「現在実行中の関数への参照です」と記述されている
[プログラム例]:traceを10回実行して、終了する
public function Main()
{
var cnt:int = 0;
addEventListener(Event.ENTER_FRAME,
function(e:Event):void
{
trace("count:"+cnt);
cnt++;
if(cnt==10)
{
removeEventListener(Event.ENTER_FRAME, arguments.callee);
}
}
);
}
本当はちゃんと関数を作った方がいいんだろうけど「フラグをセットするだけ」とか、単純な使い方ならプログラムがスッキリする気がしないでもない。。。
でも、あまり使わないかな?
PR
この記事にコメントする