N2-Works
WEB企画・制作/システム開発 大阪拠点

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(); }

たったこれだけのコードで乱数を発生させていたというのが驚きですね。

続きを表示する

MT法

この記事に対するコメント(0件)

[Flash]2009年10月04日 03時37分18秒

TOP