寻找路径的算法

时间:2009-12-05 05:02:11

标签: c++ algorithm path find

我不确定我是否正确地说明了这一点,但基本上我在X点,Y点有一个物体,我想要一个算法可以将这一点指向X',Y'但是就像显示它的路线所以我可以动画它。我正在构建一个平铺游戏,当游戏开始时,我希望这些平铺神奇地将自己置于一个漂亮的2D阵列中。所以我将生成一个随机坐标,然后告诉它在50帧内达到目标。 感谢

3 个答案:

答案 0 :(得分:4)

听起来你只想要一个线性变换。像

Xt = (((X'-X)/T)*t)+X, Yt = (((Y'-Y)/T)*t)+Y

或者在英语中,时间t处的图块坐标是沿着其路径的t / total_frames长度。如果你不想避开障碍,A *就是矫枉过正。

答案 1 :(得分:0)

您需要使用A-star算法。见here

答案 2 :(得分:0)

因此,您希望以50个步骤从(X,Y)线性插值到(X',Y')。 首先定义每个方向移动的总距离:

dx = X' - X
dy = Y' - Y

假设n = 50帧, 在第i帧(所以在范围[0,n-1]中使用i)将平铺放在坐标(x,y)中定义为:

x = X + dx * (i / (n-1))
y = Y + dy * (i / (n-1))