归航/追踪算法
为了我的游戏,我一直在研究这个算法。我只知道标准遵循X/Y坐标。
敌人=追击
英雄=被追赶
敌人和英雄同时行动。
问题是,敌人我认为这是因为我所使用的恒定价值,
例如:
x = x - 5;或y = y + 5;
我如何确定我加/减了什么价值才能让敌人直接追上我的英雄?
有公式可以这样做吗?还是条件?
谢谢。
如果有与此相同的帖子,请指示我到那里。谢谢。
发布于 2012-03-24 07:04:29
如果你的英雄在,比如说,(99,50),而你的敌人在(102,55),它将移动5个完整像素,所以它将结束在(97,50),在你的英雄的另一边。
要解决这个问题,您可以在移动之前检查Hero.X和Enemy.X之间的差异。如果差异小于您将要采取的步骤(5),请不要移动整个5个像素,而只移动该差值。为Y重复这个逻辑。
我不知道你使用的是什么精确的算法,但在我看来,使用这种逻辑,敌人在对角线移动时可以移动得更快。也许你应该考虑使用方向(角度),结合一个速度。这将是有点困难,使用一点角度,但运动是更现实的。
你可以更进一步,试着预测英雄可能在某个时间点,这样敌人就不会移动到英雄现在的位置,而是试着缩小一点。
https://stackoverflow.com/questions/9849749
复制相似问题