我有一组对象,我正在屏幕上移动。它们将是200 x 200或120 x 120,并且只能在x方向上向右或向左移动。我需要计算对象的起始位置
这应该是简单的数学我认为,对于大小为120x120的对象: (零是屏幕最左边的边缘)
空格= 10(像素)
object0从-120开始)
object1从-240 +空格开始
object2从-360 +空格
开始object3从-480 +空格开始
... object9从-1080 +空格开始
但这不起作用,它们越来越不对齐计算进一步。当我移动它们时,它们会保持在不对齐的位置,因为我为每个物体添加了相同的运动量。
从任何给定点计算起始x位置而不是手动输入x位置也是很好的,因为x可以是正数或负数。
答案 0 :(得分:0)
getPositionOfNth(int objectWidth, int startPosition, int objectNumber, int space){
return startPosition + objectNumber * (objectWidth + space);
}
现在举个例子:
getPositionOfNth(120, 0, 0, 10) == 0
getPositionOfNth(120, 0, 1, 10) == 130
getPositionOfNth(120, 0, 2, 10) == 260
getPositionOfNth(120, 0, 2, 10) == 390
...