ActionScript3

Airの制約を越えるFlashアプリを作る。C#とFlashをExternalInterface経由で相互通信。

何が良いって、Adobe Airとかの制約も一切受けずにもっとディープなアプリケーション作れちゃうよ!Flashでできないポートのリッスンとかいろいろな実装をC#に委譲できちゃうし! 簡単にExternalInterfaceをC#で使うためのライブラリをダウンロードする http…

30万件のデータから「値が 20 〜 25 の値の間のものをとってこい」とかが0ミリ秒とかでとってこれちゃう【ちょっぱやキーバーリューストア】作ったよ!

今回つくったActionScript3用「KeyValueStore」は 30万件のデータからのサーチでも、結果を約0ミリ秒でとってくることができます。 オブジェクト(DisplayObjectとかなんでも)をキーにして値を管理 「ある値からある値の間のオブジェクト」とか「ある値のオ…

Flash開発(動作チェック)に必須FireFoxアドオン

Flash Switcherアドオンをインストールする http://www.sephiroth.it/firefox/flash_switcher/index.php ↑このページのInstall now!から ブラウザの右下にこんな(f)アイコンが出てたらインストール成功です。 切り替えられるバージョンを追加する 必要なバ…

ベクター素材を軽くする(ポイント数を自動で減らす)

前回のエントリー「FLASHのパフォーマンスをあげるための10のコツ」で、「7.素材はラスターで」という項目をかいたけれど、どうしてもベクター素材を使わないとならない場合もあります。 たとえば 拡大・縮小や、回転などを行う Scale9Gridを使う 等といった…

FLASHのパフォーマンスをあげるための10のコツ

ActionScriptでパフォーマンスをあげるためのいくつかのコツです。 純粋なソースでのチューニング方法をあげているTIPSは多いけどそういうのとはちょっと違う切り口のものを。 1.大量のDisplayObjectを同じルールで動かすときには、ひとつずつ指定しないでDi…

グローバルメソッドの定義

AS3でグローバルメソッドを定義する方法です //isEmpty.as package{ public function isEmpty( value:* ):Boolean{ return ( value == null || value == undefined ); } } isEmptyとか全体でどこでも使いたいようなものは、上記のようにグローバルメソッドと…

FLASH CS3で画像をリンケージしたときのインスタンス生成

FLASH CS3ではMovieClipだけでなくライブラリ内の画像もリンケージ設定可能です。 ただしBitMapDataクラスとして登録されるのでインスタンス生成には少しコツが必要です。BitMapDataのコンストラクタは以下のようになっています BitmapData(width:int, heigh…

swf間でのライブラリ・クラスの共有

※ここでいうライブラリとはFlashCS3のライブラリパネルを指すものとします ActionScript2ではswf間でライブラリの共有ができなかったため、ライブラリの共有部分をflaファイル間でコピーしあったりと何かと不便でした。 ActionScript3ではそこらへんの問題も…

AS3でのイベント

AS3でのイベントモデルの設計方法です。 ハンドラーを渡す 一つ目の方法はハンドラーを渡す方法です。 この方法はAS2まではよく用いられてきました。 ただしAS3からthis参照が崩れないようになったので、this参照を一緒に渡す必要がありません。 コールバッ…