我被困住了,找出了消极方向吗?它一定很简单,但只是看不懂!
x =当前x位置
dir =x轴上的运动方向
if (tween == 'linear'){
if (dir == 1) {
x += (x / 5);
}
else if (dir == -1){
//what here??
}
}发布于 2010-09-30 04:35:25
这里所缺少的是,您需要考虑偏离起点,而不是x=0 (还需要考虑方向的符号,其他人都正确地指出了这一点)。也就是说,如果您的起点是x0,那么您的方程应该更类似于:
x += (x-x0)/5这是正方向和负方向的运动图(注意位置在垂直轴上,时间在水平方向)

这是Python代码。(请注意,我添加了dt项,因为在没有明确时间的情况下进行动态模拟太奇怪了。)
from pylab import *
x0, b, dt = 11.5, 5, .1
xmotion, times = [], []
for direction in (+1, -1):
x, t = x0+direction*dt/b, 0 # give system an initial kick in the direction it should move
for i in range(360):
x += dt*(x-x0)/b
t += dt
xmotion.append(x)
times.append(t)
plot(times, xmotion, '.')
xlabel('time (seconds)')
ylabel('x-position')
show()发布于 2010-09-29 23:39:02
x += (abs(x) / 5) * dir;发布于 2010-09-30 00:04:54
如果你做了像x -= (x/5)这样的事情,就不可能跨越x = 0 --当x接近0时,它开始变得越来越少。尝试使用最小增量
v = abs(x) / 5;
x += ((v > MINVEL) ? v : MINVEL) * dir;https://stackoverflow.com/questions/3826530
复制相似问题