有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有点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) 个答案

  1. # 1 楼答案

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

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

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