まず、リソースを完全に制御する唯一の方法は、意図された目的のためにタイムラインを離れ、アセットを作成して swc または swf 形式でエクスポートすることです。前者を埋め込み、後者を埋め込みまたはロードすることができます。 .
あなたがしなければならないことは、Document クラス (CS6 を使用しているため) から始めて、タスクを定義した一連のクラスを使用してゲームを構築する、オブジェクト指向の方法で開発する方法を学ぶことです。クラスを使用すると、ゲーム全体での再利用が促進されます。複雑さに応じて、PureMVC やロボットの脚などのフレームワークを検討します。
フラッシュでのガベージ コレクションはマーク アンド スイープです。つまり、すべてのオブジェクトを逆参照する必要があります。通常は、関連するリスナー、タイマー、およびそれらへの参照をすべて削除することから始めます。配列またはオブジェクトのハッシュからのクリア。最後に、問題のオブジェクトを null に設定します。これにより、ガベージ コレクションに「適格」になりますが、実際には保証されません。フラッシュが来て、必要に応じてクリーンアップします。
個人的には、Flash Builder を手に入れることができれば、これには素晴らしいメモリ管理プロファイリング ツールがあります。上記の OOP を使用して開発している場合、このツールを使用して、ゲームに存在するすべてのインスタンスを確認できます。ここでの良い点は、時間内にメモリ スナップショットを作成し、それらを比較して、残り、メモリ リークの原因となっているオブジェクトを確認できることです。スナップショットのキャプチャの間に呼び出す必要があるガベージ コレクション ボタンがあります。これは開発中にのみ使用できますが、Adobe AIR を使用すると gc 呼び出しを手動で強制できます。
おまけの質問についてですが、このブリッティングをどのように行っているのかわかりません。ステージにオブジェクトを追加している場合、メモリが増加しているため、これを避けることはできません。厚さ 1px と説明するのは、フラッシュがレンダリングするものです。ステージを右クリックして再描画領域オプションを選択すると、再描画されているものを確認できます。フラッシュが再描画する必要があるものを示す赤いボックスを確認すると、必要なものだけが再描画されます。これは、フレーム レートが低下しているかどうかを確認するのに役立ちます。
要約すると:
アセットの作成には Flash CS6 の使用を検討してください。
Actionscript 3 のオブジェクト指向プログラミングについて学びます。
Flash Builder (または無料の Flash 開発) での開発を検討してください。
OOP は、ガベージ コレクションのためのオブジェクトの整理と参照解除に役立ちます。
これがお役に立てば幸いです。あなたのゲームで幸運を祈ります。