我在表面视图中有一个移动物体,它从固定位置移动。
我需要将其设置为以抛物线方式移动..我的对象绘制就像使用x和y所以我做
不知道使用那个线程如何计算X和y plz的帮助?
答案 0 :(得分: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个) 将距离偏离此值,并在每个动画步骤中将该步距添加到最后一个坐标。
现在,为了使整个事情成为一个抛物线,你必须至少在动作开始的时候才能分开距离而不是对数。但是在尝试之前请尝试前者。
这是一种更加数字化的方法 - 我希望它有所帮助。