我正在製作一個自上而下的射手,並希望我的殭屍跟隨我的角色,而我的程序使用主循環。我角色的位置是x和y,他由箭頭鍵控制。我有一個殭屍,現在隨機在屏幕的左邊緣隨機產生。我怎麼能讓殭屍跟隨我的位置從它產生的位置?如何讓敵人在pygame中跟隨玩家?
這是殭屍功能:
def makezombie():
global zom
zom = Rect (0,randint(0, height-40), 49, 38)
return zom
我設置殭屍= makezombie()
在我的主循環我有以下幾點:
for shot in shots:
if zombie.collidepoint(shot[X],shot[Y]):
zombie=makezombie()
points+=1000
impact.play()
blood.play()
爲什麼不使用math.sqrt而不是** 0.5? – sloth
任何一個都可以工作,但如果我不需要,我不想導入太多的模塊。我真的不確定一個人是否比另一個更好,儘管我會承認math.sqrt對於閱讀代碼的人可能更容易理解。 – user1413793
在我的筆記本電腦上(在Ubuntu下爲Python 2.7),當使用''timeit.timeit()''函數測量時,使用''math.sqrt''快兩倍。 ''math.sqrt''每次計算大約需要631ns(平均超過100萬次),而''x ** 0.5''大約需要1260ns。單獨使用並不是一個很大的區別,但是如果您在循環中進行大量計算,比如在更新遊戲中大量角色的位置時,可能會產生很大的差異... – Blair