クジラ飛行机の開発状況+プログラミングメモ
« 魚の骨が喉に引っかかった時の対処方法メモ | メイン | 未踏に採択されました! »
Flash8では、Flashファイル(SWF)から、SWFを呼び出して表示することができる。
しかし、外部から読み込んだSWFには、動作に制限がある。
*あらまし
b.swf から a.swf を loadMovie した。
・b.swfの中に、a.swfを表示する・・・できる
・a.swfの中で描画メソッドは使える?・・・使える
・a.swfでloadMovieは?・・・使える
・a.swfでattachMovieは?・・・使えない
・a.swfでの計算結果をb.swfで参照できる?・・・できる
・a.swfでb.swfの関数を呼べるか?・・・呼べる
・a.swfでcreateEmptyMovieClipは?・・・できる
*感想
外部swfがゲームだったりすると、attachMovie/duplicateMovieClipを使っているゲームは、中途半端に動かないことになる。シューティングゲームなら、敵やミサイルが一機ずつしか表示されないなど。
*回避方法
(1)あらかじめ配置しておく
外部ファイルから読み込んだswfを問題なく動かすためには、
意外と工夫がいるが、ムービーの複製、新規作成を行わないようにする。
つまり、シューティングゲームなら、面倒だが、必要になるムービーを初めから必要な数だけ
配置して名前をつけておく。
(2)1つのムービーとして作成する
1つの巨大なムービーとして書き出す。
(大きなファイルをコンパイルすると頻繁に落ちるので限界があるけれど)
複数のFlashドキュメントに分けて作ったムービーでも、
ライブラリから取り込むことができるので、これを使う。
(3)ランタイム共有用を使う
使い勝手はよくないが、ランタイム共有用を使う手もある。
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000463.html
次の作業では、大きなFlashファイルを作るので、ずっと調べていたのですが、(1)の
策を使うことにします。attachMovieできない分をloadMovie()でカバーする予定。
このエントリーのトラックバックURL:
http://aoi-project.com/presents/mt/mt-tb.cgi/130