火力增强
检测道具碰到玩家碰撞的代码,替换 pass 为调用新增player.powerup()
if hit.type == 'gun':
player.powerup()
Player类,添加两个属性:power 活力等级 和 power_time 等级变更时间
self.power = 1
self.power_time = pygame.time.get_ticks()
Player类,添加powerup() 方法:
def powerup(self):
self.power += 1
self.power_time = pygame.time.get_ticks()
Player类,修改 shoot() 方法:
当 power =1 原来的一颗子弹; power>=2 两颗子弹
def shoot(self):
now = pygame.time.get_ticks()
if now - self.last_shot > self.shoot_delay:
self.last_shot = now
if self.power == 1:
bullet = Bullet(self.rect.centerx, self.rect.top)
all_sprites.add(bullet)
bullets.add(bullet)
shoot_sound.play()
if self.power >= 2:
bullet1 = Bullet(self.rect.left, self.rect.centery)
bullet2 = Bullet(self.rect.right, self.rect.centery)
all_sprites.add(bullet1)
all_sprites.add(bullet2)
bullets.add(bullet1)
bullets.add(bullet2)
shoot_sound.play()
Player类,update()方法,添加代码:
# 检测火力持续时间
if self.power >= 2 and pygame.time.get_ticks() - self.power_time > 5000:
self.power -= 1
self.power_time = pygame.time.get_ticks()
添加拾取道具声音
使用 ‘bfxr’ 找到喜欢的声音,加载后,当玩家和道具碰撞时播放。