メイン | loftimg.jp »

mx.utils.Delegateの使い方(スコープの指定)

actionscriptでいろいろごにょごにょやってるうちにスコープが訳わからなくなったりとか、ここのthisスコープはこれじゃあんわーって感じのときとかに使うといい感じ。

//_rootフレームアクション mcA.onPress = pressA; function pressA() { trace(this);//output '_root.mcA' }

import mx.utils.Delegate; mcB.onPress = Delegate.create(this, pressB); function pressB() { trace(this);//output '_root' }

とりあえず使うときはこんな感じで。

setIntervalで使うときは

import mx.utils.Delegate;
setInterval(Delegate.create(this, intervalAction), 1000);
function intervalAction() {
trace(this);
}

こんな感じで。

このDelegateはフレームアクションで使っても余りメリットというものがなく、クラス内で使うと幸せになれる。

import mx.utils.Delegate; class A { function A(mcA:MovieClip, mcB:MovieClip) { mcA.onPress = runA; mcB.onPress = Delegate.create(this, runB); } /** mcAで実行するfunction */ function runA() { trace(this);//output: "mcA" } /** mcBで実行するfunction */ function runB() { trace(this);//output: "object : Object"(クラスA自身) } }
date
2006年3月21日 21:24
category
tags


メイン | loftimg.jp »