Android 为什么画布上的Rect在更改时会上下移动';y坐标?

Android 为什么画布上的Rect在更改时会上下移动';y坐标?,android,android-canvas,Android,Android Canvas,我正在用画布做一个简单的2d游戏。我有矩形从屏幕的顶部掉下来。当我减少每秒帧数时,我可以看到当我增加矩形的y坐标时,矩形会上下移动一点。 这就是我移动矩形的方式: public void incrementY(float y) { rectangle.top += y; rectangle.bottom += y; } 我只是简单地增加矩形的顶部和底部一个浮点数来向下移动它。我如何移动矩形有问题吗?为什么矩形只应该向下移动,却向上移动 您的坐标是浮点,但像素是整数。使用严格舍入

我正在用画布做一个简单的2d游戏。我有矩形从屏幕的顶部掉下来。当我减少每秒帧数时,我可以看到当我增加矩形的y坐标时,矩形会上下移动一点。 这就是我移动矩形的方式:

public void incrementY(float y) {
    rectangle.top += y;
    rectangle.bottom += y;
}

我只是简单地增加矩形的顶部和底部一个浮点数来向下移动它。我如何移动矩形有问题吗?为什么矩形只应该向下移动,却向上移动

您的坐标是
浮点
,但像素是
整数
。使用
严格舍入的某些情况
将坐标转换为像素,例如:

public void incrementY(float y) {
    rectangle.top = Math.ceil(rectangle.top + y);
    rectangle.bottom = Math.ceil(rectangle.bottom + y);
}