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

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