我正在制作一个简单的游戏,比如this one,你必须经过两条线之间的那个小空间,但我的所有线都在下降,你只能在左边/右边移动你的角色。屏幕的底部。
我一直在浏览很多主题(大部分来自-2014),并发现在cansa上绘制背景的最佳方法是使用位图。问题是这需要大量资源,我的FPS从40+降到<20。
这是我发现的:
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.big_background),0,0,null);
还有更好的方法吗?就像将setContentView
设置为特定的XML活动一样,知道为了让我的行下降,我需要重绘它们30次/秒?
答案 0 :(得分:1)
David说得对:保存Bitmap一次,并在需要绘制时重复使用。
private Bitmap bg;
onCreate()
中,添加bg = BitmapFactory.decodeResource(getResources(),R.drawable.big_background);
canvas.drawBitmap(bg);
而不会产生位图加载惩罚。