Archive for the 'ActionScript' Category

ActionScript 3.0のイベント処理

水曜日, 10月 1st, 2008

AdobeのActionScript 3.0のイベント処理についてのページが分かりやすい。

イベントの伝達に、

  • キャプチャ段階
  • ターゲット段階
  • バブリング段階

があるってもっと早く把握してれば良かった・・・

いくつか、役立つ?応用を思いついたので、うまくいったらまたメモしよう。

ActionScript 3 オブジェクトの重なり順を制御する

火曜日, 9月 30th, 2008

addChild()した後で、重なり順を制御する方法について、メモします。

最前面

container.setChildIndex(sprite, container.numChildren - 1);

最背面

container.setChildIndex(sprite, 0);

1つ全面へ

var index:int = container.getChildIndex(sprite);
if (index + 1 < container.numChildren) {
    container.swapChildren(sprite, container.getChildAt(index + 1));
}

1つ背面へ

var index:int = container.getChildIndex(sprite);
if (index - 1 >= 0) {
    container.swapChildren(sprite, container.getChildAt(index - 1));
}

この内容は、AdobeのFlashクイックスタート:ActionScript 3.0を使用したプログラミングにて、丁寧な解説があります。

Loggingライブラリ、ThunderBolt

木曜日, 9月 25th, 2008

Loggingライブラリとして、ThunderBoltを利用することにしました。

準備はsourceフォルダの org\osflash\thunderbolt\Logger.asをコピーして、インポートするだけです。

あとは、以下のように呼び出して利用できます。

Logger.debug("○○○", 1, 2, 3, ...);
Logger.info("○○○");
Logger.error("○○○");
Logger.warn("○○○");

また、hideプロパティーで出力のOn/Offができます。

Logger.hide = true;
Logger.info("これは出力されない。");
Logger.hide = false;

Read the rest of this entry »

Flash Playerで、trace結果をファイル出力する

水曜日, 9月 24th, 2008

Flash Player Debugger Versionsを用いて、trace()結果をログファイルに出力することができます。
ログファイルに出力することで、別途traceのビューアーが利用できます。

やり方をよく忘れるので、Adobeの説明ページをメモ
デバッガ版の Flash Player の構成

mm.cfgは、以下のようにしてます。

ErrorReportingEnable=1
TraceOutputFileEnable=1

ログの保存先は、

C:¥Documents and Settings¥ユーザー名¥Application Data¥Macromedia¥Flash Player¥Logs

Adobe Flash Player – Debugger Versions の入手場所

水曜日, 9月 24th, 2008

よく場所を忘れる。しかも、Adobeのページからたどり着くまでに、迷子になりがち。
そのため、ここにメモしとこ。

Adobe Flash Player Downloads

Debugger Versionも入手できるので、開発者には必須のサイトですね。

月の日数を求める

月曜日, 9月 22nd, 2008

月の日数を求める場合、2月以外は固定のため、配列に月ごとの日数をもってもいいかな。ただし、2月は閏年の計算が必要なため、煩わしい。

手っ取り早いのはDateクラスに計算してもらうこと。

// ActionScript 3.0 のサンプル
// 2008年 9月 の日数を求める
new Date(2008, 8 + 1, 0).getDate();

翌月の「0日」が、今月の最終日であることから、月の日数が分かります。
Dateクラスでの月の表現は、0が1月、1が2月のため、「8」は9月を意味します。
「+1」は、翌月を意味します。
これで、未来でも過去でもすぐに特定月の日数を確認できます。

直線で近似する最小二乗法

金曜日, 9月 19th, 2008

折れ線グラフをActionScript3で作成していく中で、データの予測をする必要がでました。
そんな時に利用できるアルゴリズムが最小二乗法です。

こちらに最小二乗法のプログラム例があります。参考になります。

なお、このアルゴリズムの解説は最小二乗法についてが参考になります。

Flex Builder 3 の便利な Plugin

土曜日, 9月 6th, 2008

Eclipse を利用しているときに便利な
// TODO
// FIXME
が、Flex builderだと、タスクに反映されません。

そこで、Flex Builder 2用のPluginが登場にて、紹介されている TODO/FIXME extension for Flex Builder 2 をインストールしました。

なお、Flex Builder 2 となってますが、Flex Builder 3でも問題なく動きました。おかげで // TODOだらけですよ :)

Flash CS3 + Flex Builder 3

水曜日, 8月 6th, 2008

Flash CS3 の外部エディタとして Flex Builderを利用しています。

環境構築としては、AS3S.ORG の Flash CS3の外部エディタとしてのFlex Builder 2 が参考になります。

なお、ドキュメントクラスとして作られる最初の.asは Sprite を継承していることに注意。Flash CS3側のタイムラインに stop(); などを記述しているとコンパイルエラーになります。そのときは、Sprite の継承から MovieClip の継承に変えれば大丈夫です。初めて触ったとき、エラーでキョトンとしてしまいました(笑

また、Flex Builder からムービープレビューを呼び出せるようにしておくと気持ちよく開発できます。AS3S.ORG のFlex BuilderからFlash CS3でムービープレビュー が参考になります。

なお、私はショートカットの割り当てを「Ctrl + Shift + Enter」にしたのですが、これをすると、「BLAZE Language」なるポップアップが表示されます。原因は、Shiftを押しながらFlashを呼び出しているためです。ショートカットの組み合わせに Shift は混ぜない方がよさそうです。結局「Ctrl + Alt + Enter」に変更しました。