2012-09-05 82 views
-1

我該如何檢查玩家是否在暴徒的範圍內? (我正在pyglet上製作一個自上而下的遊戲)我正在製作這樣的小怪,如果他在距離它們一定距離的範圍內跟隨並攻擊玩家,但我不確定如何有效地做到這一點。我需要做一個「if」語句來看看x> mob.x - 50和x < mob.x + 50等嗎?遊戲ai視線Python

我有一個類的小怪

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」和「播放器.y「(對於小怪也是一樣的,但用」殭屍「而不是玩家)

正如喬蘭所說,我認爲找到怪物與玩家座標之間的距離是最好的方法nd我會做另一個功能來檢查距離。

很抱歉,如果這還不清楚

+3

你必須展示你的代碼樣本,並解釋你對球員的位置,暴民等的表示,這是可以回答的。 –

+0

重複:http://stackoverflow.com/questions/5228383/how-do-i-find-the-distance-between-two-points – MostafaR

回答

1

你可能需要計算怪物和玩家

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

你也許可以簡化並擺脫開方之間的距離......

+0

感謝您的答案,找到距離似乎是最簡單的方法 – user1237200