外部ムービークリップの利用 |
外部ムービークリップを読み込むには、_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" ); |