数学与间距s等距地分布n个对象

时间:2011-07-16 20:40:07

标签: math language-agnostic screen

我有一组对象,我正在屏幕上移动。它们将是200 x 200或120 x 120,并且只能在x方向上向右或向左移动。我需要计算对象的起始位置

这应该是简单的数学我认为,对于大小为120x120的对象: (零是屏幕最左边的边缘)

空格= 10(像素)

object0从-120开始)

object1从-240 +空格开始

object2从-360 +空格

开始

object3从-480 +空格开始

... object9从-1080 +空格开始

但这不起作用,它们越来越不对齐计算进一步。当我移动它们时,它们会保持在不对齐的位置,因为我为每个物体添加了相同的运动量。

从任何给定点计算起始x位置而不是手动输入x位置也是很好的,因为x可以是正数或负数。

1 个答案:

答案 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
...