我正在制作一个自上而下的射手,并希望我的僵尸跟随我的角色,而我的程序使用主循环。我角色的位置是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