2012-01-24 13 views
0

せずに、私はゲームの背景として3800x3000ビットマップを使用しています。風景 - -トゥイーン大きなビットマップ遅れ

は今、私が最初に全体のビットマップを表示し、文字にズームインより。 私はGreenSockのTweenMaxを使用していますが、この高度なトゥイーンクラスを使用しても、私のビットマップは動かず滑らかになりません。

これを解決する方法はありますか? 「私はあまりにも小さいビットマップと連携し、それらを拡張したいのですが、私は品質を失うことよりも、地形があまりにもビットマップでありますので、私は、品質の損失を隠すために、ビットマップをぼかすことができない、と私はドンそれをぼかしたい。

答えて

1

なぜビットマップが非常に大きいのですか?あなたのターゲットデバイス/画面は3800x3000に拡張されますか?

提案:

  1. は、問題を回避。より小さなビットマップを使用するか、いくつかの小さなビットマップに分割するか、またはベクトルシェイプで背景をより多く再現します。当然のことながら、すべてのアート作品をベクトルとして再現することはできませんが、可能であれば、ファイルサイズを大幅に節約し、パフォーマンスを向上させることができます。

  2. は、cacheAsBitmapが有効になっていることを確認します。これは、ビットマップのレンダリングを最適化するようFlashに指示します。ビットマップにフィルタがなく、変換が少なく、頻繁に動かない、または回転しないときに最適です。背景を動かすのには理想的です。

  3. ハードモード:最新のFlash Playerをサポートしている場合は、2Dステージの後ろにある3D空間の矩形のテクスチャとして背景を作成してみてください。私が何を意味するかのアイデアのためティボーアンベールすることで、この記事を参照してください:それは自然の中で一般的なゲーム開発の質問の多くはであるとしてhttp://www.bytearray.org/?p=2555

+0

笑、あなたの速い応答をありがとう: 1.あなたは上を歩くことができた地形が非常に長いので、私はこのような大規模なビットマップを使用します。 2.私はすでにそれを有効にしていました。 3.私は2日間、モルタルの2Dフレームワークで作業しましたが、この質問を投稿する前に停止しました。私は 'Starling'フレームワークを試しましたが、あまりにも多くの欠点がありました。 ビットマップの分割は唯一の選択肢だと思いますか? –

+1

最高のオプションのように音が分割されます。背景にモルタルプラットフォームを使用しない場合でも、錐台淘汰からアイデアを借りることができます。背景をタイルの2Dマトリックスのように扱い、ユーザーのビューポートをその上に移動する四角形として扱うことができます。フレームごとに、背景タイルの要素に対するビューポートの境界のヒットテストは、どのタイルがステージ上にある必要があるかを示します。他のものは表示リストから一時的に削除することができ、パフォーマンスが向上します。 –

1

これは本当にフラッシュ特有の問題ではありません。メモリ内の巨大な基本ビットマップ(どの言語でも)を操作することは、何があっても遅くなるでしょう。基本的に、描画コールごとに、現在のフレームバッファに数百MBのメモリを移動しています。サイドスクロールのような大部分の巨大なバックグラウンドゲームを見ると、バックグラウンドは何百回も複製された多くの小さなオブジェクトで構成されています。このテクニックは、現在の画面バッファに見える小さなスプライトをステージ上に置くことと組み合わせられます。地図の周りを移動するとき、あなたは見えていない部分を取り除き、画面が移動している場所のタイルを削除します。この技術のこの部分は、しばしばタイルバッファリングと呼ばれます。お役に立てれば!

関連する問題