我试图实现一个功能,您可以在屏幕上拖动以更改对象的位置。 现在,对象的移动方式与mouseX的更改类似。
我想要的是你拖动鼠标在屏幕上越往下,对象移动得越慢。 我在数学上非常糟糕,所以我现在真的不知道如何以一种好的方式实现这一目标。
现在我正在那样做
factor = Math.abs(e.deltaY)/4;
this.newX = this.currentX + (e.deltaX / factor);
currentX是对象的起始X值。
不知道我想要实现的目标是什么,或者我是否提供了所有信息,但我们非常感谢您的帮助!
答案 0 :(得分:0)
你的算术总是等于4。
考虑使用像exponent这样的函数。例如,
USE_FAKE_OPEN
如果你想在近距离提供因子1并且每100个像素提供一半因子(我有任意合理的值),那么
factor = Exp(- k * Abs(deltaX))
请注意,我的意思是乘法因素:
0.5 = exp( - k * 100)
ln(0.5) = -k * 100
k = - ln(0.5) / 100 ~= 0.007
现在,小距离的速度为1,100为0.5,0.25为200,0.125为300等等。
如果你想要另一种依赖,就有可能找到合适的功能。