Introduction
Adobe AIR for FlashCS3 (2)では実際にAIRに実装されているHTMLを描画するエンジンを利用して、
簡単なオリジナルウェブブラウザ機能を持ったアプリケーションを作成してみたいと思います。(図1)
コード自体少し長く感じるかもしれませんが、特に難しいことはしておらず、
重要な部分のコードの解説や機能の紹介などをしていきます。
(図1,オリジナルブラウザ全体図)
以下より、今回作成したアプリケーション等をダウンロードできます。
List of Content
- はじめに
- Flashで素材のグラフィック管理と設定
- ボタンの作成
- マスクの作成
- ドキュメントクラス(Main.as)を設定
- 外部アクションスクリプトに機能の管理
- ドキュメントクラス(Main.as)作成
- シンボルインスタンス作成
- HTML読み込み
- HTMLスクロール機能
- 基本ブラウザ機能
- アルファ機能
- マスク機能
- Drag、Close機能
1. はじめに
コーディングする前にFlash側で素材を作成します。
今回、TotalというMovieClipシンボルを作成し、そのTotalシンボルの中にそれぞれのボタンを置き、
管理しやすいようにしました。
そして、Flashで素材のグラフィック管理( 図2 )と設定を行い、
ドキュメントクラスにMain.asという外部アクションスクリプトファイルを指定することで、
>外部アクションスクリプトに機能の管理を分担しています。
2. Flashで素材のグラフィック管理と設定
Flashで素材のグラフィック管理( 図2 )と設定を行います。
(図2,ライブラリ)
では、ボタンの作成をしていきましょう。上記でも記述したように、まず個々のボタンをまとめるTotalシンボルを作成し、
そのTotalシンボルの中にそれぞれのボタンを置いていきます。(図3)
(図3,Totalシンボル)
Totalシンボルには、シンボルプロパティの設定で、ActionScriptの書き出しにチェックを付けます。(図4)
これによって、アクションスクリプトでインスタンスを生成することができるようになります。
(図4,シンボルプロパティ)
Totalシンボルの中に置いた、個々のボタンにインスタンス名を設定します。( 図5 )
(図5, インスタンス名設定)
ボタンの名前をそれぞれ以下としました。
ブラウザにマスク効果を付けるためのオブジェクトを作成します。
新規シンボル作成で名前をMaskingとし、中にオブジェクトを描画しました。( 図6 )
こちらもTotalシンボルと同様に、シンボルプロパティの設定で、ActionScriptの書き出しにチェックを付けます。
(図6, マスクオブジェクト)
ドキュメントクラスを設定をします。
ドキュメントクラスとは、メインのタイムラインに関連付けることができるクラスです。
AIRを作成すると、Flashはドキュメントクラスを自動的に生成します。
プロパティ->ドキュメントクラスにMainと記述します。( 図7 )
(図7, ドキュメントクラス設定)
3.外部アクションスクリプトに機能の管理
ここでは、今回作成したAIRブラウザの機能の紹介をし、機能を実装するためのコードを解説します。
ポイントは、以下の3つです
- シンボルインスタンス作成
- HTML読み込み
- 各種機能設定
ファイル -> 新規作成 -> ActionScriptファイル よりASファイルを作成します。
保存場所はFlashファイルと同じ階層で名前をMain.asとして保存してください。
また、ドキュメントクラスを使用するときは、クラスを Sprite かMovieClipクラスに拡張する必要があります。
ライブラリのシンボルインスタンスをアクションスクリプトのコードから作成します。
シンボルプロパティの設定でActionScriptの書き出しにチェックを入れると、
クラスインスタンスを作成するようにシンボルインスタンスを作成できます。
まずURLを格納しておく配列urlListを作成し、任意のURLを格納します。
HTMLを読み込みをさせるにはHTMLLoaderクラスのメソッドを使用することで可能になります。
loadメソッドには、引数としてURLRequestが必要なので作成します。
このクラスインスタンスに先ほど格納したURLを代入します。
HTMLを読み込みをさせるHTMLLoaderクラスインスタンスを作成し、
HTMLLoaderインスタンス名.load(URLRequestインスタンス名)
により任意のURLからHTMLを読み込みます。
HTMLスクロールする機能を実装します。
HTMLLoaderクラスのプロパティを使用することで可能になります。
この値を毎フレームに±1することでスクロールでき、
スクロール停止には、毎フレームに±1するENTER_FRAMEリスナーを削除することで停止します。
基本ブラウザ機能の「戻る」「進む」「更新」を実装します。
HTMLLoaderクラスのメソッドを使用することで可能になります。
AIRではFlashにはないたくさんのクラスが存在します。HTMLLoaderクラスもその代表の一つです。
HTMLブラウザのアルファを変更する機能を実装します。
AIRではFlashで使用してきたプロパティを同様に操作することが可能です。
アルファが0以下1以上の時、アルファの値に±1しないようにします。
アルファは0~1の値ですが値はその数値を超えて設定されてしまうのを防ぐためです
マスクの機能を実装します。
HTMLなどにマスクをかける事で、AIR特有の面白い表現ができます。
なお、マスクをかけすぎると重くなってしまうので注意してください。
マスクを適用するには、マスクプロパティにマスクを適用する対象を指定します。
また、マスクを解除するにはマスクプロパティにnullを代入します。
Drag、Close機能を実装します。
nativeWindowクラスのメソッドを使用することで可能になります。
Flash側でAIRファイルを書出すとき、ウィンドウスタイルを透明などにする場合は、
デフォルトでDrag,Close機能がないので、こちら側で作成する必要があります。





最近のコメント