2011年11月01日

FlashCS5.5とFlashDevelopでAIRアプリを作るvol.1 セッティング

airflash

環境
FlashCS5.5 Professional
FlashDevelop 4.0.0 Beta

第一回という事で、AIRアプリ制作をする際にまずしなければいけない事をまとめておこうと思います。FlashDevelopとFlexSDKとか使うとか、この環境でも他に色々やり方あるようですが、とりあえず僕がやってる手順です。

  1. ディレクトリ作成
    アプリ名-バージョン推奨 ex: ./stcBoard/1.0/

  2. FlashDevelopで新規プロジェクト作成
    ActionScript3-AS3 Project (src,lib,binディレクトリ作成)

  3. flaファイル作成 Flash-ファイル-新規-AIR
    クラス Main
    ファイル-ActionScript3.0設定-ソースパスに、上記srcディレクトリ追加
    ファイル-ActionScript3.0設定-ライブラリパスに、上記libディレクトリ追加

  4. libディレクトリにAIR用ライブラリをコピー
    ./Adobe Flash CS5.5/Common/Configuration/ActionScript 3.0/AIR2.6/airglobal.swc
    ※これやらないと、NativeApplicationとかInvokeEventとかFileStreamとかインポートできません
    ※2012.1.12 追記
     TouchEvent、Multitouchもこれでインポートできます

  5. FlashDevelopのプロジェクトウィンドウのlibを開いて、airglobal.swcをライブラリに追加
    プロジェクト-プロジェクト設定-書き出し でプレーヤーをAIRに、コンパイルターゲットを他のIDEにする
    ※こうしておけば、.flaを開いてる状態なら、FlashDevelopからCtrl+Enterでプレビューできます。
    ※ツールバーの「デバッグ」を「リリース」にすると、.airを書き出さないのでコンパイルが早いです

セッティングはこんな感じです。3.でドキュメントクラスをMainにしているので、FlashDevelopでMainをいじくれば機能してくれます。InvokeEventってのは、アプリなら必須の「ファイルをダブルクリックしたら自動でアプリが立ち上がる機能」を実現するイベントで、NativeApplicationとあわせて使います。

import flash.desktop.NativeApplication;
import flash.events.InvokeEvent;

var nativeApp:NativeApplication=NativeApplication.nativeApplication;
nativeApp.addEventListener(InvokeEvent.INVOKE,function(e){
switch(e.arguments.length){
case 0:
//普通にアプリアイコンクリックで開いた場合
break;
case 1:
//関連付けた拡張子のファイルをダブルクリックで開いた場合
trace(e.arguments[0]);//開いたファイルのパス
break;
}
});
って感じです。FileStreamクラスはFileクラスと併せて使うことで、データの保存や読み込みをする事ができます。XMLの書出しなど、FileStreamクラスを使わなくても可能なのですが、FileStreamクラスだと「書出し」ではなく「上書き」が出来るようです。アプリなら欲しい機能です。

つい最近自作したstcBoardというアプリですが、初AIRでメンテナンスのことを考える余裕がなく、脳汁ダダ漏れでグイグイ作ったので、今後を考えて一から作り直すことにしました。初回作ったときに比べて圧倒的にしんどいですw 頑張って仕上げて、機能追加に移行したいと思います。

sarustar at 18:03│Comments(0)TrackBack(0)このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote ActionScript3 




トラックバックURL

>

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔