Animation 如何使X和Y同时到达目的地?

Animation 如何使X和Y同时到达目的地?,animation,math,game-physics,axis,Animation,Math,Game Physics,Axis,我正在学习如何为视频游戏编写代码;具体来说,玩家通过鼠标点击移动。我遇到的问题是,取决于目的地,X可以在Y之前到达它的目的地,反之亦然。如何使X和Y同时到达目的地?让您有起点(x0,y0)和终点(x1,y1) 所以坐标差是方向向量的分量 查找距离Len=Sqrt(dx*dx+dy*dy)-向量长度 获取标准化方向向量分量udx=dx/Len,udy=dy/Len 现在,在每一步(在计时器事件等)改变对应于这个公式的位置:x=x0+V*udx*t,y=y0+V*udy*t,其中V是速度,t是时间。

我正在学习如何为视频游戏编写代码;具体来说,玩家通过鼠标点击移动。我遇到的问题是,取决于目的地,X可以在Y之前到达它的目的地,反之亦然。如何使X和Y同时到达目的地?

让您有起点
(x0,y0)
和终点
(x1,y1)

所以坐标差是方向向量的分量

查找距离
Len=Sqrt(dx*dx+dy*dy)
-向量长度

获取标准化方向向量分量
udx=dx/Len,udy=dy/Len

现在,在每一步(在计时器事件等)改变对应于这个公式的位置:
x=x0+V*udx*t,y=y0+V*udy*t
,其中V是速度,t是时间。这个定律描述线性运动

通常值得计算和使用速度矢量分量
vx=V*udx,vy=V*udy
——在这种情况下,您可以很容易地从边界进行反射(对于垂直边界,只需求反
vx
)等等


请注意,如果屏幕坐标为整数,则必须在输出前对值进行四舍五入(不要在新步骤中使用上一步的整数值)

请详细解释并给出一个示例忘记添加,这是一个2D环境。计算每个对象需要移动的距离。除以他们需要花费的旅行时间。结果是他们同时到达那里所需的目标速度。如果您希望对象在开始时加速,在接近结束时减速,则会变得更复杂,但这基本上都是数学问题。你可以试着掸掉你的物理课本,你会需要它的。使用线性插值
(x,y)=(x0,y0)+t/((x1,y1)-(x0,y0));t=
或任何其他学位。。。。