plamoでタグ「 AS3 」が付けられているもの

Tween比較

Green Sockというサイトで、色んなTweenエンジンの比較をしています。
http://blog.greensock.com/tweening-speed-test/

ずっと慣れ親しんできたTweenerがこんなに動きが重いとは。。
性能や将来性を考えるとSprak Projectで開発しているBeTweenが良さそうです。
日本人チームが開発者だし、将来Progressionに統合される可能性もある。
しかしまだα版なので、エンジンの仕様が変わっていく可能性も大きいので、今使用してしまうとそれはそれで後で正規版を入れた時に動かなくなるってこともありえるので、現段階ではプロジェクト毎に同階層にエンジンを置いて使用することにしよう。

Spark Project
http://www.libspark.org/

BeTween
http://www.libspark.org/wiki/BetweenAS3

09.12.14.PM03:55

Progression ProccessEvent

シーン移動する時に発行してくれる「ProccessEvent」というProgressionのカスタムイベントがあります。
ナビゲーションのモーションを変化させる時などに非常に役に立ちます。
ProccessEventには以下のようなものがあります。

//シーン移動のアクション全てで発行
progression.addEventListener(ProcessEvent.PROCESS_EVENT, onEvent);

//次のシーンが始まる瞬間に発行(現在のシーンから離脱した直後)
progression.addEventListener(ProcessEvent.PROCESS_SCENE, onEvent);

//シーン移動開始時に発行(現在のシーンの離脱開始時)
progression.addEventListener(ProcessEvent.PROCESS_START, onEvent);

//次のシーンのloadイベント実行時
progression.addEventListener(ProcessEvent.PROCESS_INTERRUPT, onEvent);

//次のシーンでエラーが出た時に発行
progression.addEventListener(ProcessEvent.PROCESS_ERROR, onEvent);

//シーン移動が全て完了した時に発行(次のシーンのaddCommand終了時)
progression.addEventListener(ProcessEvent.PROCESS_COMPLETE, onEvent);

motuLogさんの記事を参考にしました。
http://plug.heteml.jp/motulog/2009/03/progression3152-processevent.html

09.10.16.PM11:36

AS3でSingleton パターン

Singletonパターンは、インスタンスを1個しか生成しないこと
(より広い意味では、生成できるインスタンスの個数に制限があること)を、
クラスデザインとして表現するパターンです。

目的としては
*変数などをどのクラスからでも簡単に参照したい→データ保持用のクラスプロパティなどを作る
*外部からのインスタンス生成を阻止。内部でひとつ作ってしまい。それを外部からコントロール可能にする。

シングルトンクラスの実装。
*コンストラクタの直接呼び出し時にはエラーを投げるようにする。
*コンストラクタが直接呼び出されたのか、インスタンス返却メソッド経由で呼び出されたかを判断する。
*インスタンス返却メソッドが呼ばれた場合、インスタンスが既に作成済みかチェックしインスタンスを返します。(内部的にすでに作成済)

09.08.18.PM06:12

AS3で小数点第二位以下の四捨五入

Number型だと処理が重くなるけれど、int や uint ではなく
少数第2位以下を四捨五入したい時の(2.3など)簡単な方法は
求めたい数値に10倍したものをMath.roundなどで一旦整数化し、
その後で10で割るとよいです。

var num:Number = 2.36589;
x = Math.round(num * 10) / 10;

参考サイト:EviryTimes
http://times.eviry.com/?p=30

09.08.18.PM06:03

getDefinitionByNameでクラス名を文字列から作る

文字列からインスタンス名を作りたい時は「getChildByName」を使いますが、 クラス名を作る時は「getDefinitionByName」を使います。

サムネイル画像に使うような、比較的容量が小さめの画像を、最初からライブラリに登録しておいて、始めにロードしておきたいという場合など便利です。

例えば、ライブラリに読み込んだビットマップ画像のリンケージ名をPhoto1, Photo2...と連番で名前を付けた場合は下記のような書き方ができます。

09.07.17.AM02:18

Progression Listenコマンド

Progressionのシリアルリスト内で、ロードコンプリート後に次のアクションを起こすスマートなやり方がないかと探していたのですが、Listenコマンドがかなり便利です。

例えばキャストスプライトクラス内で、スプライト自身がディスプレイリスト追加時に、 任意の外部画像を読み込んだ後で、ロードオブジェクトをフェードインしたい場合はこう記述します。

09.07.15.AM12:24

AS3で外部swfに埋め込んだフォントを読み込む

前回特定の文字数だけフォントを埋め込む方法を紹介したのですが、今回は

・スクリプトで指定のフォントデータを全て埋め込みたい
・しかし、書き出す際に重くなるのは避けたい

という場合に便利な、外部swfにフォントデータを埋めてしまって、本体のswfにスクリプティングで読み込む方法を紹介します。

09.07.13.AM11:44

AS3で指定した文字数だけフォントを埋め込む

タイトルなど、後々変更がありそうな文字をスクリプトで書いておきたい場合があると思います。

var str:String = "AS3で指定した文字数だけフォントを埋め込む";

その方法として、ライブラリパネル + AS3を使用する方法があります。

まず、テキストツールを選択し、ステージ上にダイナミックテキストか、テキスト入力でフィールドを作り、使用したいフォントを選択します。今回は「FOT-ロダン Pro B」にします。

09.07.12.PM09:31

plamoを購読する