0

クロスプラットフォームの AIR アプリケーションを開発しました。これは、ビットマップ アセットの代わりにベクター グラフィックスをアニメーション化/使用することにより、モバイル デバイスでのパフォーマンスが大幅に低下します。cacheAsBitmapMatrix / cacheAsBitmap を使用することは、いつ、どこで適切に割り当てられるかにより優れていますが、それでもビットマップ アセットを使用するほど高速ではありません。

実行時にベクター グラフィックスをビットマップ オブジェクトに bitmapData.draw() し、代わりにビットマップ オブジェクトをアニメーション化しようとしましたが、これは単純にベクター グラフィックスをビットマップ。

Flash Professional 5.5 UI には、ベクター グラフィックをビットマップ アセットに変換する機能が追加されましたが、実行時にこれを行うことは可能ですか? 特にモバイルデバイスで最適なアニメーションパフォーマンスを得るために、実際の Rasterize() ルーチンを使用して、プログラムで描画されたベクターグラフィックスや編集可能なテキストを実行時にビットマップに変換することは可能ですか?

4

1 に答える 1

0

ビットマップをアニメーション化しようとしたと言うとき、ビットマップを回転/サイズ変更していたという意味ではないことを願っています-それは遅いプロセスです.

ゲームの読み込み中に、ムービークリップのフレームに基づいてスプライト シートを作成するエンジンを持っているかもしれません (アニメーションがある場合)。次に、これらを で参照できますBitmapData.copyPixels()

これは単純に次のようになります。

  1. BitmapData オブジェクトを作成します。
  2. スプライト シートを手動で使用する場合と同様に、MovieClips タイムラインの各フレームを BitmapData に描画します。
  3. BitmapData を連想配列に格納して、後で簡単にアクセスできるようにします。sheets["zombie1"]

オブジェクトを for ループで回転させ、回転したオブジェクトをシートに描画することもできます。

次にSheetObject、以前に定義されたシートの一部をロードして表示するためのメソッドを用意するだけです。

これはすべて正しい軌道に乗っていますか..?

于 2011-05-20T00:07:16.307 に答える