Java计算一段时间内两点之间的转换

时间:2012-04-27 12:16:03

标签: java swing

我有点A(0,0)和点b(0,100),我有一个X ms的过渡时间。我需要在给定的X ms时间内将对象从A点移动到B。请帮忙。一些伪代码会有所帮助。

我的参考代码:

   float time= (float)totalTime / halfTransitionTime;
   new.x = start.x + (end.x - start.x) * time;
   new.y = start.y + (end.y - start.y) * time;

但我不是因为我的时间计算是正确的,因为我没有得到所需的输出。请帮忙。

在上面的类中,translateCalc()是我进行线性插值计算的方法。我似乎没有得到正确的计算。请帮忙

1 个答案:

答案 0 :(得分:1)

您的线性插值计算是正确的,但将时间计算更改为:

float time= ((float)currentTime) / totalTime;

这将为您提供0到1之间的值(假设currentTime介于0和totalTime之间),这将导致startend之间的平滑过渡