EventクラスのtargetとcurrentTargetの違い
ActionScript3.0の場合、イベントは3つの段階を経て伝達されていきます。
いわゆるキャプチャ段階、ターゲット段階、バブリング段階です。
addEventListenerの3つ目の引数、useCaptureのtrue、falseはこのキャプチャ段階の伝達を使用するかどうかを設定できます。
続きを表示するActionScript3.0
この記事に対するコメント(0件)
[Flash]2011年08月18日 20時56分39秒
flライブラリのDataGridコンポーネントのセルにComboBoxを使用する方法
flライブラリのDataGridは非常に中途半端な実装です。
自前で用意するのは面倒なので使っていますが、TextField以外の編集可能セルを実装する方法が分かりませんでした。
公式のドキュメントを調べると、CellRendererクラスを継承すれば既存のコンポーネントを埋め込むことができることが分かりました。
続きを表示するActionScript3.0 flライブラリ
この記事に対するコメント(0件)
[Flash]2011年07月27日 17時54分54秒
FlashDevelopでFlashCS4のflライブラリUIコンポーネントを使用する方法
FlashDevelopでComboBoxを使用したかったのですが、mxmlのクラスしかありません。
画面もコードで定義したかったので代替手段はないか探してみると、flライブラリを使用したサンプルが何件かありました。
試してみるとFlashDevelopにはflライブラリが存在しないためimportエラーが発生します。
オーサリングツールにflライブラリのflaファイルがあるので、それをswcファイルに変換すればライブラリとして使用できそうです。
続きを表示するActionScript3.0 flライブラリ
この記事に対するコメント(0件)
[Flash]2011年07月15日 07時10分08秒
多重ループからのbreak
複雑なプログラムを組んでいる場合、多重ループを実装することはよくあります。
通常ActionScriptでループを抜ける場合はbreakを使用します。
// forの例
var i:int;
for (i = 0; i < 10; i++) {
if (i == 5) {
break;
}
}
// whileの例
i = 0;
while (i < 10) {
if (i == 5) {
break;
}
i++;
}
上記は1つ上のループに抜ける場合でしたが、多重ループを一度に抜ける場合は次のように実装します。
続きを表示するActionScript3.0
この記事に対するコメント(0件)
[Flash]2010年10月31日 02時00分31秒
ActionScript3.0の乱数
Flashにおける乱数の精度はどれくらいなのかというのが気になりましたので、測定することにしました。
VC++のライブラリにおけるrand()はサンプルがそれほど多くない場合でもパターンが感じられる程、精度が低い物のようです。
cのrand
#define A 214013
#define C 2531011
#define F 0
#define S 1
static long x=S;
int rand() { x=x*A+C; return (int)(x>>16)&32767; }
void srand(long s) { x=s; if (F) rand(); }
たったこれだけのコードで乱数を発生させていたというのが驚きですね。
続きを表示する