MovieClipLoader (ActionScript 2.0)

久々に flash の話題

またスパゲッティなコードを書いてしまって反省している今日このごろ。このままじゃいかーんということで、ActionScript 2.0 でよく使うもののライブラリ化をやってみようかと思ってゴソゴソやっております。ワタクシは、ほとんどの場合 Object オブジェクトよりも MovieClip に対してメッセージを送るほうが好きなので、かなりめんどいことをしているのですが、タイムラインとアクションの便利なところを組み合わせて使うにはこうするのがよいかなと。class HogeClass extends MovieClip してクラス作って attachMovie 〜とか、ほっとんどやりませんです。

さて、ActionScript 2.0 から、「MovieClipLoader クラス」なるものがくっつきました。これを使えばムービークリップに swf や jpg をロードするときに、 onLoadStart とか onLoadProgress とかリスナーに送ってくれます。クラス自体は便利そう。ってか使いたいと思っております。

が、ムービープレビューすると、onLoadStart の後、ロード完了する前に onLoadComplete を送ってきやがります。onLoadProgress も無し。試しに onLoadComplete ハンドラの中で、getBytesLoaded() と getBytesTotal() を取得してみたら、 0 と -1 が返ってきました。「ダウンロードをシミュレート」でやっても同様。外部ファイルが完全に開かれないまま、先に進んでしまいます。マイッタ。保存された swf をブラウザで開いたとき(ローカル/ネットワーク共)には、ちゃんと onLoadProgress も表示されて、onLoadComplete も正常っぽいのですが。

こりゃ、ムービープレビューすんなってことですかw。保険で getBytesLoaded() と getBytesTotal() を比較するのもなんか違う気がするし。#if DEBUG〜 #else #endif みたいにできりゃいいんですけどねぇ(^^; 気合いとこんじょで、trace でゴリゴリ・・・はしとうないしぃ・・・。

コマリマシター