我正在开发一个游戏,我正在使用invalidate在画布上增加位图的位置,所以现在就像在屏幕上移动图像一样,我将位置递增1,所以(x,y)的值增加位图正在改变。 我的问题是通过值1增加画布上的位置显示在较高分辨率下非常慢并且在ldpi和mdpi设备中很好。我找不到实际问题.. 问题是每秒的密度或帧数或某些东西。帮助我。
答案 0 :(得分:0)
如果您想在所有设备中使用相同的速度,则需要将增量值乘以density
。我们假设您的增量值为1px
,那么您需要使用
1 * getResources().getDisplayMetrics().density;
这将确保在更高密度的设备中,增量值更多是为了保持速度相同。(例如,在hdpi
中它将是1.5
,在xhdpi
中它将是2.0
等。希望它有所帮助!