关于python:08-今天终于给蘑菇披上马甲啦python游戏红伞伞

27次阅读

共计 1376 个字符,预计需要花费 4 分钟才能阅读完成。

申明:原创不易,未经许可,不得转载

0. 前言

hello,小伙伴们!我还是带你们一起写游戏的猫姐。
明天是这个游戏的,第 8 集了!上一集,咱们实现了蘑菇的前身 - 蘑菇小方块,这一集,咱们用定时器这个技术,产生很多着落的蘑菇!
好了,咱们代码搞起。

1. 定时器的应用

当初,咱们用定时器,每过 1000ms,也就是 1 秒钟,产生一个方块。在pygame 里应用定时器,超简略,3 行代码就搞定了:
咱们先定义一个事件,应用pygame.USEREVENT + 1,赋值给 ADDENEMY 变量。

# 定义一个事件
ADDENEMY = pygame.USEREVENT + 1
pygame.time.set_timer(ADDENEMY, 1000)

而后,咱们把这个事件增加到定时器里,也就是,每过 1000ms,ADDENEMY这个事件 就会被激活一次,这里应用 pygame.time.set_timer 函数增加定时事件,括号外面传入的是 ADDENEMY 事件以及工夫。
接下来,咱们要解决,定时事件被激活时,要做的事件,也就是每通过 1 秒钟,须要生成一下新的蘑菇!
while 循环外面,在这里,写上elif event.type == ADDENEMY,创立一个新蘑菇对象:

elif event.type == ADDENEMY:
    mushroom = MushRoom()
    mushrooms.add(mushroom)

而后再把生成的 mushroom 对象增加到精灵组外面,这里应用精灵组 mushroomsadd 函数 ,就能够把精灵增加到精灵组外面了。对于定时器,大家只有记住,每过 1 秒钟,这两行代码就会运行一次!
这里用到了一个新的变量 mushrooms,所以咱们在 while 循环里面,要定义一下 mushrooms 这个变量,这里通过pygame.sprite.Group 创立一个精灵组,赋值给 mushrooms。

mushrooms = pygame.sprite.Group()

这个精灵组 group 是个好货色,能够批量治理所有的蘑菇,大家只须要了解,mushrooms 外面放了很多个蘑菇就能够了!
最初,咱们还须要批改一个中央,就是方块的绘制和更新函数那里,须要把 mushroom 改成 mushrooms。
咱们运行看下成果,能够看到,每过一秒就会产生一个新的蘑菇方块。

接下来,咱们要把方块换成真正的蘑菇图片了。
在 image 目录下,蘑菇的图片我曾经筹备好了。咱们来革新一下 MushRoom 类,
所以间接把 self.imageself.image.fill这两行代码正文掉,而后通过 Pygame.image.load 函数来导入蘑菇的图片,括号外面传入的是蘑菇图片的门路,把它赋值给 self.image。

class MushRoom(pygame.sprite.Sprite):
    def __init__(self):
        super(MushRoom, self).__init__()
        # self.image = pygame.Surface((30, 30))
        # self.image.fill("red")
        self.image = pygame.image.load("./image/red_mushroom.png")

运行程序看下成果,能够看到,蘑菇的图片就显示进去了!

红伞伞的这个游戏马上快完结了,你跟上了吗!
关注猫姐,下一集咱们让小男孩来接住着落的蘑菇!

正文完
 0