【发布时间】:2013-04-18 12:00:52
【问题描述】:
好的,所以我有一些代码可以让我的敌人在我的 XNA 游戏中跟随玩家,但他们只会跟随玩家直到玩家在他们面前。如果玩家经过一个敌人,它将停止向他移动。相反,它们会随着玩家不断上下移动。
我使用的代码是这样的:
Vector2 direction = player.Position - goblins[i].Position;
direction.Normalize();
Vector2 velocity = direction * goblins[i].enemyMoveSpeed;
goblins[i].Position += velocity;
(忽略妖精位,我只是更换了图形)
不完全确定该去哪里,有什么想法吗?
【问题讨论】:
-
该代码对我来说看起来不错。您是否尝试过设置断点并查看值是否正确更新?也许这些值是在当前代码之外被操纵的。
-
顺便问一下:
goblins[i].enemyMoveSpeed到底是什么?是float还是Vector2? -
你先生是个英雄。我不小心留下了另一行代码,指定了一个移动规则,这意味着它们将以两倍的速度有效地向左移动,但根本无法向右移动。非常感谢:)
-
goblins[i].enemyMoveSpeed 是一个浮点数,只是敌人移动的速度
标签: c# xna artificial-intelligence game-physics path-finding