接上回继续,这次我们要给游戏加点难度,增加几个随机出现的敌人,玩家碰到敌人后Game Over。
最终效果如下,头上顶个"电风扇"的家伙,就是敌人。
一、先定义敌人类
1 # 敌人类 2 class Mob(pg.sprite.Sprite): 3 def __init__(self, game): 4 pg.sprite.Sprite.__init__(self) 5 self.game = game 6 self.current_frame = 0 7 self.last_update = 0 8 self.image_up = self.game.spritesheet.get_image("flyMan_fly.png") 9 self.image_down = self.game.spritesheet.get_image("flyMan_jump.png") 10 self.image = self.image_up 11 self.rect = self.image.get_rect() 12 self.rect.centerx = random.choice([-100, WIDTH + 100]) 13 self.vx = random.randrange(1, 4) 14 if self.rect.centerx > WIDTH: 15 self.vx *= -1 16 self.rect.y = random.randrange(HEIGHT / 2) 17 self.vy = 0 18 self.dy = 0.5 19 20 def update(self): 21 self.rect.x += self.vx 22 self.vy += self.dy 23 # 敌人上下移动 24 if abs(self.vy) > 3: 25 self.dy *= -1 26 center = self.rect.center 27 if self.dy < 0: 28 self.image = self.image_up 29 else: 30 self.image = self.image_down 31 self.rect = self.image.get_rect() 32 self.rect.center = center 33 self.rect.y += self.vy 34 # 超出边界自动清除资源 35 if self.rect.left > WIDTH + 100 or self.rect.right < -100: 36 self.kill()