【问题标题】:How to make enemies follow the player all around the screen in XNA?如何让敌人在 XNA 的屏幕周围跟随玩家?
【发布时间】: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


【解决方案1】:

汤姆,你好,你好吗?

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

  1. Chase & Evade (http://xbox.create.msdn.com/en-US/education/catalog/sample/chase_evade) 这是一个 Microsoft 示例,展示了如何实现 AI 的几种简单行为,包括追逐、逃避和徘徊。
  2. 为敌人添加视野 (http://robotfootgames.com/xna-tutorials/5-xna-platformer-starter-kit-field-of-view-for-enemies) 与 1 号样本和 Plaformer 入门套件相关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2015-07-03
    • 1970-01-01
    相关资源
    最近更新 更多