[ as ] イベントハンドラ 消したり復活したり

Actionscriptでは例えばこんな風にイベントハンドラを書く事が出来ます。

  _root.onEnterFrame = function(){
    〜〜〜
  }

ほかにはこんな感じ。

  function hoge(){ trace( “hoge” ); }
  _root.onEnterFrame = hoge;


野中氏によれば、

イベントハンドラメソッドは、’function’の代入。代入ということは、設定する’function’を切替えることが可能。

ということなんだそうです。

つまり中身の入れ替えが簡単に行えるのです。
フラグとかたてなくても良いから簡単です。

というのに気づいたのが今日。

前回のFlash仕事の時にも、onEnterFrame = xxx;の形で
処理の変更が出来る事は知っていたのですが、
deleteしたらonEnterFrameが取得出来なくなる、と思っていました。
その為、フラグを大量に立ててなんとかしのぎました。

が、今日ふと思い立ってテストをしたところ、
deleteしても再度設定してやれば何度でも復活出来る事が判明しました。

テストでデータUPしてみました。
flaファイル入りのzipはこちら

丸いのがボタンになっていて、それを押したらdelete、
もう一回押したら再度アサインするようになってます。

ぐぞぉぉぉ、、この方法を思いついていればもうちょっとスマートに記述出来たのに、、
ぐぐぐぐぐぐ、、

まぁ今日わかったから良いことにしよっと。

コメントを残す

メールアドレスが公開されることはありません。