• 締切済み

ビットマップデータのメモリ使用量について

Adobe Flash CS6 AS3を使用しています。 ライブラリにpng連番画像を読み込みそれをムービークリップ内に配置し、そのムービークリップをメインのタイムラインにおくという形でフラッシュを作っているのですが、これではメモリ使用量が大きくなりすぎるのでなんとかしたいと思っています。 例えばmcAというムービークリップの内部にライブラリにインポートしたA01からA10という10枚の連番png画像を10フレーム分並べます。そして同じくムービークリップmcBの内部にライブラリにあるB01からB10という10枚の連番png画像を同じく10フレーム分並べます。その二つのmcをメインのタイムラインに配置します。これでmcAとmcBの10フレーム分のアニメが再生されますが、mcAかmcBどちらか片方だけを表示するようボタン操作ができるようにしています。ここで問題なのですが、例えばmcAを表示しているときにmcBは可視性を切って非表示にしていますが、メモリ使用量が減りません。こういった時に非表示にしているムービークリップのために確保したメモリーを開放する、といったことはできないのでしょうか?removeChildなどを実行してもメモリ使用量はまったく減りませんでした。 連番画像とそれを収めるムービークリップの数が増えれば増えるほどメモリ消費量が増えていってしまうので困っています。表示されていない内部にビットマップデータを配置してあるムービークリップのメモリーを開放するよい解決策がありましたら教えてください。 それと少し話がそれますが、ライブラリにあるビットマップイメージををリンケージしそのビットマップイメージをaddChildでステージに読み、そのビットマップイメージをdisposeで削除した場合にメモリーが開放されるのを確認しましたが、今の自分のやりかたよりこういった別の方法からフラッシュを作っていったほうがメモリー使用量を抑えられたりするのでしょうか?もっと効率の良い方法がありましたらそちらも教えてていただけると助かります。宜しくお願いします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

普通は mcA を MC で作るのではなく 例えば a.swf として作っておき mcB も MC で作るのではなく 例えば b.swf として作っておいた上で メインとなる親 SWF を作成し その親 SWF の loader に a.swf と b.swf とを切り替えてロードしますが。

参考URL:
http://hakuhin.jp/as3/loader.html#LOADER_01
Fawkes
質問者

お礼

なるほど。試してみます。ありがとうございました。

関連するQ&A