私はFlashでのレンダリングを高速化するために、瞬時にスプライトシートを作成するという唯一の方法を試しました。フラッシュゲームでRAMを多すぎるときにどのように知っていますか?
スプライトシートは、BitmapData.draw()
を使用してMovieClipから作成されます。
私はMovieClipとintを受け入れるメソッドを持つグラフィックスマネージャクラスを持っています。 MovieClipはグラフィックスをキャプチャするターゲットであり、intはイメージを360度以内でレンダリングできる角度を表します。
例えば、提供intは4
であれば、私はこの結果を得るでしょう:
を私は8
を提供する場合、私は、この取得します:
を(最大360)。
方法次に、例えば、フレームおよび回転を指定することによって、与えられたセルののBitmapDataの容易な捕捉を可能にする私が作成した別のクラスのインスタンスを返す:
var myGraphics:SpriteSheet = aboveMethod(movieClip, 4);
var cell:BitmapData = myGraphics.getCell(2, 90); // frame 2 rotated to 90 degrees
これらのスプライトシートを作成しています明らかにたくさんのRAMを食べることになります。特に、100以上のフレームがあり、それを最も近い2度(合計1800セル)に回転する必要がある場合は特にそうです。
私はこれらのRAMがどのくらいのRAMを使用しているか分かりません。また、使用しているゲームがどれくらいのRAMで満足できるかわかりません。
これに関するアドバイスは非常に役に立ちます。注:私はをSpriteSheetで定義されたdispose()
の方法でRAMをクリアするように利用しました。
後者のリンクは、おかげでかなりクールです。 – Marty