我正在用 pygame 制作一个自上而下的游戏,它现在非常基础,我的编码经验/技能有限,所以我知道我的代码不会完美无缺。现在我有一个角色,并且生成的僵尸在追赶他,但过了一段时间它们都合并成一个精灵图像,我不知道如何阻止它。
根据猜测,我认为我应该使用 for 循环来检查僵尸是否与其他僵尸发生碰撞,但我不知道该怎么做,或者是否应该在僵尸类中完成。
僵尸移动区域的代码如下,我不确定移动代码是否需要大修才能工作,因为它是相当原始的移动代码。
感谢您的帮助,
亚历克斯
def update(self):
zx=self.rect.topleft[0]-player.rect[0]
zy=self.rect.topleft[1]-player.rect[1]
rads=math.atan2(-zy, zx)
rads %= 2*pi
angle = math.degrees(rads)
self.rimage=pygame.transform.rotate(self.image, angle-90)
size=self.rimage.get_size()
if self.damaged:
self.rimage=pygame.transform.rotate(self.image_damaged, angle-90)
screen.blit(self.rimage, (self.rect.topleft[0]-size[0]/2,self.rect.topleft[1]-size[1]/2))
print "oww"
self.damaged=False
if pygame.sprite.collide_circle(self, player):
self.collidenumber += 1
else:
self.collidenumber = 0
if self.collidenumber < 3:
if player.rect[0]<self.rect[0]:
self.rect[0]-=self.speed
if player.rect[0]>self.rect[0]:
self.rect[0]+=self.speed
if player.rect[1]<self.rect[1]:
self.rect[1]-=self.speed
if player.rect[1]>self.rect[1]:
self.rect[1]+=self.speedenter code here