pygame.image.load("images/enemy1_down1.png").convert_alpha(), \
pygame.image.load("images/enemy1_down2.png").convert_alpha(), \
pygame.image.load("images/enemy1_down3.png").convert_alpha(), \
pygame.image.load("images/enemy1_down4.png").convert_alpha() \
])
添加图片(飞机被摧毁的过程图)
先设置self.active=True,表示飞机存活,发生碰撞后调用毁灭过程图片
然后调用reset函数
if not(delay % 3):
if e2_destroy_index == 0:
enemy2_down_sound.play()
screen.blit(each.destroy_images[e2_destroy_index], each.rect)
e2_destroy_index = (e2_destroy_index + 1) % 4
if e2_destroy_index == 0:
each.reset()
飞机毁灭,先调用 e2_destroy_index=0的图片,然后1,2,3,
调用完3后,变为0再调用reset
pygame.sprite.spritecolode(me,enemies,False)
碰撞检测返回的是列表,但这个碰撞检测的是个矩形,用户体验不佳
pygame.mask.from_surface(self.image)
pygame.sprite.spritecollide(me, enemies, False, pygame.sprite.collide_mask)
mask标记图片不透明的部分,检测不透明部分,这下是完美碰撞了