2017-04-02 1 views
0

アンドロイドスタジオでAndroidゲームを開発していますが、Bitmap.decodeResourceとdrawBitmapで背景画像を描画すると、ゲームのFPSが10になり、再生できなくなります。バックグラウンドでゆっくり動く画像を描く別の方法はありますか?私は画質が合理的であることを望みますが、背景は画面上を滑っているいくつかの木の写真です。アンドロイドスタジオで背景画像を読み込むときの遅延を減らすにはどうすればよいですか?

答えて

0

シーンをレンダリングするたびにBitmap.decodeResourceに電話しないことを願っています。あなたは一度だけ、それを呼び出す必要があります - 最初に、あなたが他のすべてのものを初期化するとき:

Bitmap gameBackground=BitmapFactory.decodeResource(getResources(), R.drawable.game_background)

そして、ゲームループでは、あなたがcanvas.drawBitmap(gameBackground)で画像をレンダリングすることができます。もちろん、最後にシーンループの後に、gameBackground.recycle()を使用して割り当てられたメモリを解放する必要があります。

+0

私はゲームパネルを初期化するときにdecodeResourceを1回だけ呼び出しますが、画像の解像度が600x600よりも大きい場合はまだ遅くなります。これは起こるはずですか?動く背景イメージを表示するための他の選択肢がありますか? –

+0

/resディレクトリの下のdrawable-nodpiフォルダにイメージを置くことができます。このようにして、画像のサイズを変更する必要はありません。デフォルトでは、多くのメモリとCPUが必要です。もう一つのことは、あなたのイメージがPNGであることがより良いことです。 –

+0

私のアプリケーションにはサイズ変更が必要だと思います。これの周りに簡単な方法はありますか? Androidのスタジオは高品質の画像を扱うために作られていませんか? –

関連する問題