2009-05-19 92 views
0

我有一个V(233,188)的速度矢量。速度矢量帮助

当原点为V(0,0)时,它使对象以每秒300像素的速度朝向屏幕的右下侧移动。

例如,当物体的位置是(592,334)时,我将速度矢量设置为V(294,55),但物体并未开始朝着那个方向移动......它一直移动同一个方向,但似乎它使10度的小曲线...

我在做什么是:

objectLocation += velocity * elapsedTime; 

我在做什么错?

+0

验证对象的位置是否已更改(例如'velocity * elapsedTime'不是微不足道的)。另外,您可能需要做一些事情来强制在对象更改位置后重新绘制对象。 – ChrisW 2009-05-19 01:25:16

+0

不,不会,发生的事情是,对象开始移动的位置不是我设置的位置,例如,使用我提供的值,似乎对象向右转10度的小曲线...我忘了添加此信息,对不起... – Paulo 2009-05-19 01:27:27

+0

在这种情况下,也许这是由于使用整数而不是浮点引起的“舍入错误”...你知道我的意思吗?你有三件事,即'objectLocation','velocity'和'elapsedTime'......这些都是整数,还是浮点数,或者是什么?你使用什么编程语言? – ChrisW 2009-05-19 02:37:55

回答

1

(233,188)和(294,55)之间的差别并不大,在事物的宏伟计划中。要验证您的代码正在工作,请尝试使用诸如(200,-200)之类的向量。这将导致它实际上在y方向上反弹。

如果该代码有效,那么这只是您的值不起作用。