【问题标题】:Game ai Line of Sight Python游戏ai Line of Sight Python
【发布时间】:2012-09-05 16:26:45
【问题描述】:

如何检查玩家是否在生物的范围内? (我正在 pyglet 中制作一个自上而下的游戏)我正在制作它,如果玩家在一定距离内,小怪会跟随并攻击玩家,但我不确定如何有效地做到这一点。我是否需要做一个“if”语句来查看 x > mob.x - 50 和 x

我有一个针对暴徒的课程

class zombie(pyglet.sprite.Sprite):

    def __init__(self, image, x, y, batch,trees):
            pyglet.sprite.Sprite.__init__(self, image, x, y, batch=None)

然后我使用了几个函数作为他们可以执行的不同操作

    def move(self):
        ...
    def idle(self):
        ...

玩家的位置是“player.x”和“player.y”(对于小怪来说相同,但用“zombie而不是player”)

正如 Joran 所说,我认为找到生物与玩家坐标之间的距离是最好的方法,我将制作另一个函数来检查距离。

如果不清楚,请见谅

【问题讨论】:

标签: python pyglet game-ai


【解决方案1】:

你可能需要计算怪物和玩家之间的距离

sqrt((mob.x-player.x)**2 + (mob.y-player.y)**2)

您可能可以简化它并摆脱 sqrt ...

【讨论】:

  • 感谢您的回答,寻找距离似乎是最简单的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 2023-03-16
  • 2012-11-06
  • 2011-04-20
  • 1970-01-01
相关资源
最近更新 更多