外部ムービークリップの利用

外部ムービークリップを読み込むには、_LoadMovie クラスを使用します。

読み込むことができるファイルは、SWF形式のみです。

読み込みの流れを説明していきます。

| 読み込み開始

_LoadMovie クラスの load() メソッドで、読み込み開始します。

携帯では、キー押下時に load() メソッドを実行する必要があります。processEvent() メソッド内で、イベントのタイプが _KEY_PRESSED_EVENT の時に行ってください。なお、1つのキー押下イベントで、1つだけ load() メソッド実行ができます。

| 読み込み中のステータス検知

読み込み中、_LoadMovie クラスの busy() メソッドの戻り値が true になります。

また、読み込み中、_Main クラスを継承したクラスオブジェクトの
onLoadMovieStart()
onLoadMovieError()
onLoadMovieProgress()
onLoadMovieComplete()
メソッドが呼び出されますので、進行状況を知ることができます。

| 読み込み完了

_Main クラスを継承したクラスオブジェクトの onLoadMovieInit() メソッドが呼び出されますと、読み込み完了したことを示します。

| 読み込んだムービークリップを使用する

読み込んだムービークリップを使用するメソッド一覧です。

・_Graphics クラスの drawMovie()／drawScaledMovie()／drawTransMovie()
・_MovieClip クラスの attach()

| ライブラリ形式の外部ムービークリップの利用

ライブラリ形式の外部ムービークリップとは、SWFファイルの中に複数のリソースを格納したもののことです。これを利用しますと、1回の通信で複数のリソースを取得できます。

ライブラリ形式の外部ムービークリップをツール「swfmill」で作成するには、例えば次のようなXMLファイルを記述します。

<?xml version="1.0" encoding="utf-8"?> <movie width="240" height="240" framerate="13"> <background color="#ffffff" /> <frame> <library> <clip id="lib0_a" import="a.png" /> <clip id="lib0_b" import="b.png" /> <clip id="lib0_c" import="c.png" /> <textfield id="tf0" width="0" height="0" text='あいうえお' /> <place id="tf0" name="lib0_str" depth="0" /> </library> </frame> </movie>

作成された外部ムービークリップを、_LoadMovie クラスの load() メソッドで読み込みます。

var lm:_LoadMovie = new _LoadMovie( this ); var lib:_MovieClip = lm.load( 0, "lib0.swf" );

_Main クラスを継承したクラスオブジェクトの onLoadMovieInit() メソッドが呼ばれるまで待ちます。

空の _MovieClip オブジェクトを作成します。

var res_a:_MovieClip = new _MovieClip(); var res_b:_MovieClip = new _MovieClip(); var res_c:_MovieClip = new _MovieClip();

_MovieClip クラスの attach() メソッドを使用して、イメージリソースを抽出します。

res_a.attach( lib, "lib0_a", "res_a" ); res_b.attach( lib, "lib0_b", "res_b" ); res_c.attach( lib, "lib0_c", "res_c" );

文字列リソースは、_MovieClip クラスの getString() メソッドで取得できます。

var str:String = new String( "" ); str = lib.getString( "lib0_str" );