複数の画像を数秒置きに読み込んで重ねて表示していくものを作ったのですが
表示枚数が増えていくにつれ表示の仕方が遅くなっていきます。重いというのでしょうか。
(具体的にはアルファを0から100にしているのですがこの処理が遅くなります)
(最初のうちは3秒で表示していたのに、10枚目くらいになると5秒かかるという感じです)
これはなぜでしょうか?
普通のhtmlページで画像をたくさん表示すると重くなるのと同じ事なのでしょうか?
また、この解決策はありますでしょうか?
表示した画像は数秒後に必要なくなるのですが
これを削除するような事?を行えば軽くできるなどという事はあるのでしょうか?
よろしくお願いします
ご質問された内容だけでは、状況が把握できません。
Flashの質問は、できれば記述したActionScriptを書いたり、フレームの状態等を書いてだけると回答しやすいと思います。
>複数の画像を数秒置きに読み込んで
から察するに、①loadMovie("a.jpg")等のASで外部jpgファイルを次々に読み込んで表示させているということでしょうか?
それとも、②Flashムービーを編集している段階で全ての画像を読み込んでいる(つまりライブラリには画像がいっぱいある)ということでしょうか?
①の場合、unloadMovie()で不必要になった画像を削除すれば大丈夫だと思います。
例えばですがファイルに1、2、3、と番号をふっていき、奇数なら削除、偶数なら表示と、といった関数を作成するとか。(もっと効率のいいやり方はあります・・・)どのようなムービーなのか実際に見ていないので、仕様にあった記述をしてください。
②の場合、swfファイルのサイズを見てみてください。メガ単位であると、結構キツイです。ASで読み込ませる仕様に変更することをお勧めします。
ありがとうございます
スクリプトはここには書いていないのですが
やっていることは画像のファイル名などを書いてあるxmlファイルを読み込み、
書かれている約20〜30のjpg画像(1枚約50kb)を読み込み、
ループ処理で繰り返し表示しています。
(1枚目から20枚目までの表示の繰り返しです)
createEmptyMovieClipでmcを20作り、画像をロードしてループ表示という感じです。
ということなので不要になる画像はないため削除はできません。
今までは1枚100kb以上の画像を使用していたのですが
50kbにしたらいくらか軽く動く感じになりました。
やはり画像を小さくしたり、少なくするしかないのでしょうか?
ありがとうございます