我正在制作一个简单的游戏,我基本上有一个僵尸类,我把它放在一个组中,这样我就可以无限期地拥有它的多个实例:
class zombie(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self,zombiegroup)
self.pos=(random.randrange(5,695),random.randrange(5,455))
self.image=zombie_image
self.rimage=self.image
self.rect=self.image.get_rect().move(self.pos)
self.speed=5
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 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.speed
screen.blit(self.rimage, (self.rect.topleft[0]-size[0]/2,self.rect.topleft[1]-size[1]/2))
我的小组只是:
zombiegroup=pygame.sprite.Group()
这是非常基本的,但我想知道如何测试这些僵尸中的每一个是否相互碰撞,否则在追逐一段时间后它们都会在屏幕上合并成一个僵尸。我只是不知道如何处理该组来做到这一点,或者即使我应该使用 pygame 组。
多谢你们,
亚历克斯