-2

我在表面视图中有一个移动的物体,它从固定位置移动。

我需要将它设置为像抛物线一样移动..我的对象像使用 x 和 y 一样绘制所以我这样做

不知道使用该线程如何计算 X 和 y 请帮助?

4

1 回答 1

3

基本公式是:

y=x^2 + m

(m 是 x 偏移量)(2 可以是高于 2 的偶数,但现在使用 2)

您的起始位置的坐标为 y0, x0

所以你的第一个位置是:

y = x0^2 + y0

对于下一步,像这样计算您的 x 值

x = x0+(n*stepsize)

x0 是您的初始 x 值(见上文)。stepsize 是每个步骤的像素偏移量(现在只需使用 1) n​​ 是绘图循环中的当前步骤,如下所示: for(int n=0;n<100;n++)

然后用这个 x 值计算你的 y 值

y = x^2 + y0

主要编辑:

所以我想到了另一种方法来做你想做的事情,这更简单:

首先,您需要定义起点 (x0|y0) 和终点 (x1|y1) 坐标。然后使用单独的公式计算动画期间的新位置。

计算距离

x0x1 = x1 - x0
y0y1 = y1 - y0

定义您想要多少个动画步长(假设是 20)将距离除以该值,并在每个动画步长中将该步距添加到最后一个坐标。

现在要使整个事物成为抛物线,您必须将距离分开,而不是事件,而是对数,至少在运动开始时。但请在尝试之前先尝试前者。

这是一种更加数字化的方法 - 我希望它有所帮助。

于 2012-05-25T07:03:48.470 回答