归位/追逐算法

时间:2012-03-24 06:49:35

标签: algorithm

归位/追逐算法。

我一直在研究这个算法,我的游戏。 我所知道的唯一追逐是标准跟随X / Y坐标。

  

Enemy = Chaser

     

英雄=被追逐

     敌人和英雄同时移动。

问题是敌人的意志是直线但最终不会直接进入英雄。我认为这是因为我使用的价值不变,

例如:

x = x - 5;y = y + 5;

我如何确定加/减的值以使敌人直接追逐到我的英雄?

有没有一个公式可以做到这一点?还是条件?

谢谢。

如果有与此相同的帖子,请指示我。谢谢。

1 个答案:

答案 0 :(得分:0)

如果你的英雄在,(99,50),而你的敌人在(102,55),它会移动5个完整的像素,所以最终会在(97,50)处,你英雄的另一面。

要解决此问题,您可以在移动之前检查Hero.X和Enemy.X之间的区别。如果差异小于您要采取的步骤(5),请不要移动整个5像素,而只移动该差异。为Y重复该逻辑。

我不确定你使用的算法是什么,但在我看来,使用这种逻辑,敌人可以在对角线移动时更快地移动Sqrt(2)。也许你应该考虑使用方向(角度),结合速度。使用一点角度测量法会有点困难,但运动更加真实。

你可以更进一步,并尝试预测英雄在某个时间点可能在哪一点,所以敌人不会移动到英雄现在的位置,但试图削减角落一点点。