いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

実はオブジェクト指向に関係する技術には全く疎い Byerkut さん。

今日はクロージャというやつを初めて使ってみました。

クロージャはオブジェクト指向とはつながりが薄いのですが、オブジェクト指向をサポートする言語には必ずと言っていいほど存在している技術です。残念ですがあまり理解していないので要約はできません。でも、多少の誤解を恐れずに言うとクロージャとは「関数の内部に存在できる同じスコープを持つ関数」です。

たとえばこんなことができます。

function test()
{
  var hoge:int = 4;
  this.addEventListener(Event.ENTER_FRAME,
                        function (event:Event) {
                          trace(hoge);
                        });
}

test() 関数の中でイベントリスナーとして無名の関数を登録している点に注目してください。この関数は test() と同じスコープを持っています。つまり test() で宣言した変数 hoge が見えるのです。このソースを実行すると ENTER_FRAME イベントが発生するたび hoge の中身が出力パネルに表示されます。

これは使いようによっては便利かもしれません。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 TECHNORATI お気に入りに追加する
フィードメーター - いちばんやさしいゲームの作り方 ブログSEO対策:track word カウンター
Firefox meter あわせて読みたい SEO STATUS
このページの先頭へ