Adobe AIRとFlex SDKで遊ぶ。

 (12/23: パッケージ追加しました)

 間違いと追加情報があり、改訂しました。

完成例(Ubuntu9.04+Adobe AIR環境)

見ろ、フラッシュがまるで単体アプリのようだww

用意したもの。

素材はこちらです。

 *.air パッケージも用意してますが、マリスカ・ヴェレスの写真は含みません。インストール後かSDKで別途コンパイル時に、wall180.jpgという画像を交換してください。

 なお、こんな雑品にライセンスもへちまもないですが、とりあえず GPLv2 または BSD 相当に扱ってください。

手順

asclock.xml を作る。

(asclock.xml)

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.5">
    <id>samples.flex.asclock</id>
    <version>0.1</version>
    <filename>asclock</filename>
    <initialWindow>
        <content>asclock.swf</content>
        <visible>true</visible>
        <systemChrome>standard</systemChrome>
        <transparent>false</transparent>
        <width>240</width>
        <height>240</height>
    </initialWindow>
</application>

Makefileを書く

APP=asclock
PASS=パスワード

all:
        make compile
        #make test
        #make cert
        make maker
compile:
        amxmlc $(APP).as
test:
        adl $(APP).xml
cert:
        adt -certificate -cn SelfSigned 1024-RSA sample.pfx $(PASS)
maker:
        adt -package -storetype pkcs12 -keystore sample.pfx $(APP).air $(APP).xml $(APP).swf $(APP)

AIR作成用の認証ファイルを作る

 まぁ、オレオレ認証ですが ^^ 結構待たされるかと。

$ make cert

コンパイル

$ make

ちゃんと*.swfができたら、テスト。

$ make test

OKなら、*.airを作る。

$ make maker

動作

 完成した*.airファイルは、Adobe AIRのインストールされている環境ならそのままインストーラが走る。

 なお、先日「このままやったらウインドウ装飾がなくなる」と書いていたが、 それは単に*.xmlの設定ミス だった。たとえばsystemChromeをstandardにしてtransparent(透過)をfalseにすれば、ちゃんとウインドウが出る。本稿もそれにそって書き換えた。

 ちなみにウインドウ装飾まったく無し(systemChromeをnoneに、transparentをtrue)にした場合、ルートウインドウ(Windowsならばデスクトップでいいのだろうか?)上に文字や図形だけを浮かび上がらせる事もできる。これを逆に応用して面白いもの(たとえば、昔懐かしい「何か」のようなやつ)が作れそうである。

 このあたりは、これからの研究である。