C# 在XNA中,如何让敌人在屏幕周围跟随玩家?

C# 在XNA中,如何让敌人在屏幕周围跟随玩家?,c#,xna,artificial-intelligence,game-physics,path-finding,C#,Xna,Artificial Intelligence,Game Physics,Path Finding,好的,我有一些代码让我的敌人在我的XNA游戏中跟随玩家,但是他们只会跟随玩家直到玩家在他们前面。如果玩家越过敌人,它将停止向他移动。相反,它们会随着玩家不断地上下移动 我使用的代码如下: Vector2 direction = player.Position - goblins[i].Position; direction.Normalize(); Vector2 velocity = direction * goblins[i].enemy

好的,我有一些代码让我的敌人在我的XNA游戏中跟随玩家,但是他们只会跟随玩家直到玩家在他们前面。如果玩家越过敌人,它将停止向他移动。相反,它们会随着玩家不断地上下移动

我使用的代码如下:

         Vector2 direction = player.Position - goblins[i].Position;
         direction.Normalize();
         Vector2 velocity = direction * goblins[i].enemyMoveSpeed;
         goblins[i].Position += velocity;
(忽略地精一点,我刚刚替换了图形)


不太清楚该去哪里,有什么想法吗?

汤姆,你好,你好吗

这里有两个例子对我帮助很大:

  • Chase&逃避()这是一个Microsoft示例,展示了如何为AI实现几个简单的行为,包括追逐、逃避和漫游
  • 向与1号样本和Plaformer初学者工具包相关的敌人()添加视野

  • 我觉得那代码很好。您是否尝试设置断点并查看值是否正确更新?可能这些值是在当前代码之外操作的。顺便问一下:
    goblins[i]到底是什么。enemyMoveSpeed
    ?它是一个
    浮点数
    还是一个
    矢量2
    ?先生,你是个英雄。我无意中留下了另一行代码,指定了一条移动规则,这意味着它们将以两倍于左边的速度移动,但根本无法向右移动。谢谢一群:)地精[i]。敌人移动速度是一个浮标,只是敌人移动的速度