在不使用Bitmap的情况下设置游戏背景

时间:2017-03-30 19:34:42

标签: java android bitmap

我正在制作一个简单的游戏,比如this one,你必须经过两条线之间的那个小空间,但我的所有线都在下降,你只能在左边/右边移动你的角色。屏幕的底部。

我一直在浏览很多主题(大部分来自-2014),并发现在cansa上绘制背景的最佳方法是使用位图。问题是这需要大量资源,我的FPS从40+降到<20。

这是我发现的:

 canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.big_background),0,0,null);

还有更好的方法吗?就像将setContentView设置为特定的XML活动一样,知道为了让我的行下降,我需要重绘它们30次/秒?

1 个答案:

答案 0 :(得分:1)

David说得对:保存Bitmap一次,并在需要绘制时重复使用。

  1. 在您的活动中,添加private Bitmap bg;
  2. onCreate()中,添加bg = BitmapFactory.decodeResource(getResources(),R.drawable.big_background);
  3. 您现在可以执行canvas.drawBitmap(bg);而不会产生位图加载惩罚。