Tue, March 4, 2008
はじめての Adobe AIR and Flex SDK 3 , HTMLLoaderを使って簡易ブラウザをつくる
わたしが、Flexを使いたい一番の理由は、Webkitが入っているから。
・・・ということで早速ブラウザをどうすれば作れるか試しました。
基本的な部分はとても簡単にできます。
MyBrowser.as
ここでは、URLにグーグルのサイトを指定していますが、 お好きなサイトのURLに切り替えて、Webkitのパワーを体験しましょう。
package{
import flash.display.*;
import flash.text.*;
import flash.html.*;
import flash.net.*;
public class MyBrowser extends Sprite{
private var hc:HTMLLoader;
public function MyBrowser(){
hc=new HTMLLoader();
hc.width=stage.stageWidth;
hc.height=stage.stageHeight;
addChild(hc);
stage.focus=hc;
hc.load(new URLRequest("http://google.co.jp/"));
}
}
}
コンパイルと実行
ブラウザなどは、FlexではなくAIR独自の拡張部分になるので、
amxmlcでコンパイルする必要があります。
さらに、
できたswfは、そのままFlashPlayerでの実行できません。
(実行しても何も起きない。)
AIRアプリケーションとして adl コマンドを使って、実行する必要があります。 ADFというアプリケーション定義ファイルをXMLで用意する必要があります。
コンパイル
mxmlcではだめです。amxmlcを使う必要があります。
コマンドラインから以下のようにコンパイル。
$ amxmlc -default-size 240 240 MyBrowser.as
MyBrowser.swf が生成されます。
ADF
MyBrowser.swf用のADFを用意します。
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>MyBrowser</id>
<name>MyBrowser</name>
<filename>MyBrowser</filename>
<version>1.0</version>
<title>MyBrowser</title>
<description>This is MyBrowser.</description>
<copyright>(C)osima</copyright>
<initialWindow>
<title>MyBrowser</title>
<content>MyBrowser.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
</initialWindow>
</application>
実行
adl コマンドを使います。
$ adl MyBrowser-app.xml
最終的には、airの配布形式にする必要がありますが、 とりあえずブラウザを動かすのが目的なので、 今回はこれまで。