読者です 読者をやめる 読者になる 読者になる

鳥小屋.txt

ゲーム作ったり、Web的なことしたり、ぐだぐだしたりしますねヽ(・x・)ノ

FlashDevelopでワンソースFlash+AIR+モバイルAIR

制作 AdobeAIR

……をするためのプロジェクトファイルの準備が面倒です.

探して!4羽のときは,Flash+モバイルAIRだけだったので,
Flashのプロジェクトの上にモバイルAIRのプロジェクトから必要そうなものを,
いくつか移植するだけでなんとかなったんですが,
ここにPC用AIRを混ぜようとすると,ファイル名が被る!

ファイル名変えるとbatファイルが動かなくなるし,
同じような設定ファイルがあちこちに散らばって,なんじゃこりゃー!になるし,
正常な動作にも正常な精神にもよくなさそう.

そんなわけで,FlashとAIRとモバイルAIRのプロジェクトを作って,
いい感じにファイルをくっつけて整理したプロジェクトを作ってみました.
FlashDevelop 4.0.1 RTMで作ってます.

rutan/FlashDevelop_Template · GitHub

これを使うと読み込むプロジェクトファイルを変更するだけで,
同じソースから3種類のビルドができるようになるはず.

やったこと

ファイル名被りをなんとかする

PackageApp.batとRun.batみたいなやつのファイル名を変えました.
○○_AIR.batがAIR用,○○_Mobile.batがモバイルAIR用です.

統合する
  • application.xml
  • bat/CreateCertificate.bat
  • bat/SetupSDK.bat
  • bat/SetupApplication.bat

この辺のファイルを3つのプロジェクトのものを整理して統合.

ただし一部の弊害として,application.xml内の

<supportedProfiles>desktop mobileDevice</supportedProfiles>

こんな感じに,デスクトップもモバイルもどっちもOK指定になってます.
完全に同一ソースならアリかもしれないけど,
条件付きコンパイルとかするんだったらあんまりよくないかもですね.

出力先ディレクトリを変更

bin/の中にFlash,AIR,Mobileの3つのフォルダをつくって,
各プロジェクトでは,その中にファイルを出力するようにしました.
「探して!4羽」のときに,間違えてFlash用のswfをAndroidのapkに出力しかけて,
危なかったので,安全策として変えてみました.

オレオレ鍵はモバイルAIR用プロジェクト同様にcert内に出力します.
パッケージしたものも同様にdist内に出力.

あんまりよくないところ

まだ面倒

結局使うためには,またいろいろファイル書き換えたりする必要がー.
プロジェクト名が「Test」だし,パッケージ名ついてないし……
そういうの一括で変更できるbatとか作ればよさそうですね.
そのうちやるかもしれないし,やらないかもしれない(

うまく動かないかも

毎度のことですがロクにテストしてない*1ので,
うまく使えない可能性があります.特にiOSはわからん!
そもそもAndroidiOSのプロジェクトも分けたほうがいいかもしれないですね.

とりあえず,この辺は気づいたら直していくはず……僕が困るし.

*1:このプロジェクトを使って何も作ってないという意味です.実績ゼロ!