-1

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

我有一个针对暴徒的课程

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 所说,我认为找到生物与玩家坐标之间的距离是最好的方法,我将制作另一个函数来检查距离。

抱歉,如果不清楚

4

1 回答 1

1

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

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

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

于 2012-09-05T03:14:04.777 回答