FlashDevelopなどを使って、AIRアプリを作る(1)

  • このエントリーをはてなブックマークに追加
  • 0

先日、Adobe AIR クックブックを購入した。
と言う事で、早速AIRアプリでも作ろうかと思い、
とりあえずARToolKit Marker Generator Onlineマルチマーカ版をAIRにしてみた。

元々Saqooshaさんが作ったAIRアプリだったものを、
Web版に書き換えただけのアプリをまたAIRにするってどうなの?
とも思ったが、まぁこいつはAIR版無いの?見たいなコメントも貰った事あるし、
一番有益だろうってことで。

と言う事で、今回はFlashDevelopと
Using Badger for Adobe AIR applications | Adobe Developer Connection
で紹介されていたBadgerとか言うアプリを使って、swfファイルをAIRアプリ化し、
インストールバッジを配置するまでの流れを書いていく。

まずは、前半のAIRアプリ作成まで。

Adobe AIR クックブック ―プロフェッショナルに学ぶRIAプログラミングの実践

著者/訳者:David Tucker Marco Casario Koen De Weggheleire Rich Tretola

出版社:オライリージャパン( 2009-08-03 )

定価:

大型本 ( 584 ページ )

ISBN-10 : 4873114152

ISBN-13 : 9784873114156



FlashDevelopを使って、.airファイルを作る

元々、FlashDevelopにはAIR用のプロジェクトがある。
と言う事で、既存のプロジェクトで作ったswfファイルをAIR化するために、
AIR用プロジェクトで作られるバッチファイルをお借りすることにする。

前準備

まず、FlashDevelopを開き、F10を押してProgram Settingsを開く。
そして、下の方にある「Save UTF-8 Without BOM」を、Trueにする。

FlashDevelopのProgram Settings

これは、swfファイルをAIR化するために必要なバッチファイルにBOMが付いていると、
最初の「@echo off」命令を「[BOM]@echo off」と誤解釈し、
以降、コマンドプロンプトが出っ放しのおかしな表示になってしまうからだ。
(ただし、@echo offが効かないだけなので、プログラムの動き自体は正しいはず)

バッチ準備

次に、メニューの「Project-New Project」から、新規プロジェクトを作成する。
作成するぷロジェクトは「AIR AS3 Prject」で、プロジェクト名は何でも良い。
後で置換しやすそうな名前にしておけばよい。
で、出来たプロジェクトから、以下の3つのファイルをAIR化したいプロジェクトにコピーする。

  • application.xml
  • CreateCertificate.bat
  • PackageApplication.bat

application.xml書き換え

さっき作ったプロジェクトの名前がデフォルトの「New Project」であれば、
以下のようなファイルが出来ているはずだ。

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <application xmlns="http://ns.adobe.com/air/application/1.5">
  3.    
  4.     <id>NewProject</id>
  5.     <version>1.0</version>
  6.     <filename>NewProject</filename>
  7.    
  8.     <name>New Project</name>
  9.     <description></description>
  10.     <copyright></copyright>
  11.    
  12.     <initialWindow>
  13.         <title>New Project</title>
  14.         <content>NewProject.swf</content>
  15.         <systemChrome>standard</systemChrome>
  16.         <transparent>false</transparent>
  17.         <visible>true</visible>
  18.         <minimizable>true</minimizable>
  19.         <maximizable>true</maximizable>
  20.         <resizable>true</resizable>
  21.     </initialWindow>
  22.    
  23.     <!--
  24.    More options:
  25.    http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
  26.    -->
  27. </application>

これを書き換えて、AIR化したいプロジェクトにあわせる。

idを書き換える
applicationの下にあるidタグは、AIRアプリの識別子だ。
とりあえず、アプリのメインになるクラス名を入れておけば、自分の中では一意になる。
versionを書き換える
アプリのバージョンを、好きなように指定すればよい。
filenameを書き換える
最終的に作られる.airファイルは、ここで指定した名前になる。
name、description、copyrightを書き換える
好きなように書き換える。
initialWindowを書き換える
titleを書き換える
初期ウィンドウのタイトルを、好きなように書き換える
contentを書き換える
swfファイルの名前を記入する。基点は「bin」フォルダとなるので注意
systemChromeを書き換える
標準のウィンドウを使うのであればstandardのままでよい。
普通にswfファイルにしてたような物なら、standardでよいはず。
それ以外のものを作るなら、最初から狙ってAIRのプロジェクトにしてるはずだ。
なお、standard以外にあるのは「none」だ。
transparentを書き換える
上記と同じ理由で、falseでよい。
透明なウィンドウを作りたければtrueにすればよい
visibleを書き換える
初期ウィンドウが見えるか見えないかだが、普通のswfファイル内に
わざわざ初期ウィンドウを見えるようにする処理が組み込まれてるはずが無いので、
trueのままでよい。
minimizableを書き換える
最小化を許すかどうか。最小化くらい許してやればよいので、trueにしておけ
maximizableを書き換える
最大化を許すかどうか。以下同文。
resizableを書き換える
サイズ変更を許すかどうか。
swfファイルのサイズが変わってもいいようなロジックを組んでいたならtrueにしてもよいが、
面倒なのでfalseのままでよい。
installFolderタグで、インストール場所を書き換える
AIRアプリは通常、プログラムフォルダの直下に入る。
Windowsであれば「C:\Program Files」に入るが、他の場所に入れたい気分の時もある。
そんな時は、installFolderタグを、initailWindowタグの兄弟として書き加えておく。
例えば、「C:\Program Files\tarotarorg」にしたい時は、こうだ。

  1. <installFolder>tarotarorg</installFolder>
programMenuFolderタグで、プログラムメニュー位置を書き換える
AIRアプリをインストールすると、Windowsのプログラムメニュー内では
「すべてのプログラム」の直下にショートカットが置かれる。
それが嫌な場合、programMenuFolderタグを足してやる。
例えば、「すべてのプログラム\tarotarog」以下にしたい時は、こうだ。

  1. <programMenuFolder>tarotarorg</programMenuFolder>
iconタグで、アイコンを指定する
AIRアプリでは、16×16、32×32、48×48、128×128の、4種類のサイズのアイコンを
指定できる。が、面倒なので一番大きい128×128のみ指定してやればよい。

  1. <icon>
  2.     <image128x128>icon128.png</image128x128>
  3. </icon>

これも、binフォルダを起点としておく。

customUpdateUIタグを、とりあえずtrueにしておく
何か、シームレスインストールとかに関係しているタグらしい。
説明を読んだが良くわからなかったが、自動更新機能とかの野望があるなら、
とりあえずtrueにしておけと言った所か。

  1. <customUpdateUI>true</customUpdateUI>

最終的に、こんなXMLファイルになった。

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <application xmlns="http://ns.adobe.com/air/application/1.5">
  3.    
  4.     <id>org.tarotaro.flash.ar.MarkerGeneratorMulti</id>
  5.     <version>0.1</version>
  6.     <filename>MarkerGeneratorMulti</filename>
  7.    
  8.     <name>MarkerGeneratorMulti</name>
  9.     <description>ARToolKit用マーカジェネレータ(複数マーカ版)</description>
  10.     <copyright>2009 tarotarorg</copyright>
  11.    
  12.     <initialWindow>
  13.         <title>MarkerGeneratorMulti</title>
  14.         <content>MGM.swf</content>
  15.         <systemChrome>standard</systemChrome>
  16.         <transparent>false</transparent>
  17.         <visible>true</visible>
  18.         <minimizable>true</minimizable>
  19.         <maximizable>true</maximizable>
  20.         <resizable>false</resizable>
  21.     </initialWindow>
  22.     <installFolder>tarotarorg</installFolder>
  23.     <programMenuFolder>tarotarorg</programMenuFolder>
  24.     <icon>
  25.         <image128x128>icon128.png</image128x128>
  26.     </icon>
  27.     <customUpdateUI>true</customUpdateUI>
  28.     <!--
  29.    More options:
  30.    http://livedocs.adobe.com/flex/3/html/File_formats_1.html#1043413
  31.    -->
  32. </application>

バッチファイルを書き換える

次に、バッチファイルを編集する。
バッチファイルには、証明書を作るための「CreateCertificate.bat」と、
AIRアプリを作るための「PackageApplication.bat」がある。
これを、自分用に書き換える必要がある。

まず、「CreateCertificate.bat」を書き換える。
書き換えるのは、11行目以下の3行。

  1. :: Certificate information
  2. set NAME=<証明書の名前>
  3. set PASSWORD=<パスワード>
  4. set CERTIFICATE=<証明書ファイル名(.pfxファイル)>

上記3箇所を好きなように記入し、バッチを実行する。
FlashDevelopからなら、右クリックしてExecuteで実行できる。
成功すると、指定したファイル名で証明書が出来ている。

次に、「PackageApplication.bat」を書き換える。
17行目の

  1. set AIR_FILE=<AIRファイル名(.airファイル)>

を、作りたいAIRアプリのファイル名に変更する。
で、実行するとパスワードを聞かれるので、「CreateCertificate.bat」で指定した、
証明書のパスワードを入力する。

これで、AIRファイルが出来る。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク