归位/追逐算法。
我一直在研究这个算法,我的游戏。 我所知道的唯一追逐是标准跟随X / Y坐标。
Enemy = Chaser
英雄=被追逐
敌人和英雄同时移动。
问题是敌人的意志是直线但最终不会直接进入英雄。我认为这是因为我使用的价值不变,
例如:
x = x - 5;
或y = y + 5;
我如何确定加/减的值以使敌人直接追逐到我的英雄?
有没有一个公式可以做到这一点?还是条件?
谢谢。
如果有与此相同的帖子,请指示我。谢谢。
答案 0 :(得分:0)
如果你的英雄在,(99,50),而你的敌人在(102,55),它会移动5个完整的像素,所以最终会在(97,50)处,你英雄的另一面。
要解决此问题,您可以在移动之前检查Hero.X和Enemy.X之间的区别。如果差异小于您要采取的步骤(5),请不要移动整个5像素,而只移动该差异。为Y重复该逻辑。
我不确定你使用的算法是什么,但在我看来,使用这种逻辑,敌人可以在对角线移动时更快地移动Sqrt(2)。也许你应该考虑使用方向(角度),结合速度。使用一点角度测量法会有点困难,但运动更加真实。
你可以更进一步,并尝试预测英雄在某个时间点可能在哪一点,所以敌人不会移动到英雄现在的位置,但试图削减角落一点点。