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



我正在制作一个简单的游戏,就像这个游戏一样,你必须穿过 2 行之间的那个小空间,但我所有的线条都是下降的,你只能在屏幕底部左右移动你的角色。

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

这是我发现的:

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

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

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

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

相关内容

最新更新