我尝试在画布上绘制一个带有png位图的箭头png。所以每次我旋转箭头我都要重置画布的背景位图,否则我会看到旧箭头的重复。
我用:重置背景:
bMapLoad.eraseColor(0);
问题在于它有时会擦除新箭头的一部分。播种我有时只会看到箭头的一部分。我每10-100毫秒旋转一次像素。
有人可以帮助我吗?
我也试过了:
bMapLoad=bMapcanvasBack.copy(bMapcanvasBack.getConfig(), true);
canvasLoad.setBitmap(bMapLoad);
这很好但需要更多内存。那么还有更好的方法吗?
编辑:
也
canvasLoad.drawColor(0, PorterDuff.Mode.CLEAR);
不起作用
答案 0 :(得分:0)
尝试canvas.drawARGB(0,0,0,0)
或更简洁canvas.drawColor(0)
清除它,然后再次绘制位图(canvas.drawBitmap(...)
)
部分透支可能有不同的原因 - 绘图和显示之间的同步。通常的做法是使用双缓冲。这意味着,您将在屏幕外画布上绘制,然后使用可见画布交换底层Bitmap。
编辑:使用android:进行双缓冲的一些有用资源example here加上“开始安卓游戏”这本书还有一个关于双缓冲的部分。可以下载该书的源代码here