我正在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