MEMOUK

ActionScript 2.0 Delegate クラスで 関数のスコープ自由自在

Delegate クラスって知ってますか?

最近まで知らなかったのですが、Flash 6からというかActionScript 2.0にあるクラスです。
メソッドは1つしかなくて

Delegate.create() 特定のスコープ内で関数を実行するための静的メソッドです」

ちょっと理解するのがややこしいのですが、普通はFunctionの中でのthisと自分の中のthisは違うモノとして扱われますが、このDelegateを使うと参照させたいスコープでその関数を実行出来ます。

例えば

ロクナナワークショップ Summer Camp 2008

import mx.utils.Delegate;

function test(t){
trace(this);
trace(t);
}

var _vars = new LoadVars();
_vars.onData = Delegate.create(this, test);
_vars.load("test.txt");

こんな感じ

evalなどと同じで、乱発すると余計に混乱しますが、プロジェクトの最終段階での軌道修正的な案件(?)などでは威力を発揮しそうです。


(kani君ありがとう)

Posted by uk at 02:00 | パーマリンク | コメント (0) | トラックバック (0)

このエントリーのトラックバックURL:
http://www.67.org/blog/mt-tb.cgi/955

コメントを投稿

MEMOUKROKUNANA

SITE FEED

  • 個人やグループでの貸し切り受講、企業や学校への出張講座、各種イベントへの講師派遣もご相談ください

    出張講座・貸し切り講座

Search