利用 pygame 开发一款游戏:「跳跳兔」(完结篇)

利用 pygame 开发一款游戏:「跳跳兔」(完结篇)_第1张图片

前言

通过前面九篇文章的编写,「跳跳兔」游戏基本已经被编写出来了,本节在此基础上进一步完善它,并添加上云彩背景。

添加云彩背景

添加云彩背景的大致步骤如下。

  • 1. 编写云彩类

  • 2. 载入云彩图片

  • 3. 随机生成云彩

  • 4. 云彩同步移动

一步步来编写,首先是创建云彩类,代码如下。

# sprites.py
class Cloud(pg.sprite.Sprite):
    def __init__(self, game):
        self._layer = CLOUD_LAYER
        self.groups = game.all_sprites, game.clouds
        pg.sprite.Sprite.__init__(self, self.groups)
        self.game = game
        self.image = random.choice(self.game.cloud_images)
        self.image.set_colorkey(BLACK)
        self.rect = self.image.get_rect()
        # 随机出现位置
        scale = random.randrange(50, 101) / 100
        self.image = pg.transform.scale(self.image, (int(self.rect.width * scale),
                                                     int(self.rect.height * scale)))
        self.rect.x = random.randrange(WIDTH - self.rect.width)
        self.rect.y = random.randrange(-500, -50)
    def update(self):
        # 云朵大于2倍高度,就被消除
        if self.rect.top > HEIGHT * 2:
            self.kill()

代码内容与此前内容非常类似,不再详细分析。

但你仔细观察,你会发现,Cloud 类的__init__() 方法中创建了 self._layer,并通过如下形式将其加入到相应的 groups 中。

self.groups = game.all_sp

你可能感兴趣的:(利用 pygame 开发一款游戏:「跳跳兔」(完结篇))