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

0.前言

hello,大家好,我是带你们一起写游戏的猫姐。
明天咱们接着做小朋友吃蘑菇的小游戏!在第一集代码的根底上,咱们来实现一个小方块的显示,成果是这样的。

pygame根本框架:

猫姐再强调一下:下面的代码尽管只有10行,却是pygame这个框架的精华,不论你的游戏是简略还是简单,都是建设在这个代码的根底上,所以大家肯定要认真体会这10行代码的意思。

1.定义一个方块类

咱们先来实现方块的显示,这里略微要一点面向对象编程的常识,咱们用class定义一个类,类名叫Player,在类名的括号外面,传入pygame.sprite.Sprite这个类,让Player继承精灵。而后在类里,实现咱们本人的构造函数def __init__(self),用super函数来调用精灵父类的构造函数。

class Player(pygame.sprite.Sprite):    def __init__(self):        super(Player, self).__init__()

在构造函数外面,咱们用pygameSurface函数生成一个宽为60像素,高为30像素的小方块,给这个小方块取个名,叫self.image。因为屏幕的色彩是彩色的,所以咱们要给小方块填充点不一样的色彩,用self.image.fill函数给小方块填充红色。通过self.imageget_rect函数能够失去小方块的矩形区域,在括号外面,须要设置矩形区域的显示地位,也就是最初程序运行起来后,小方块最后在哪里显示。在这里,咱们让小方块在屏幕的核心显示,所以它的左顶点即x的坐标为left=WIDTH//2,左顶点y的坐标为top=HEIGHT//2

class Player(pygame.sprite.Sprite):    def __init__(self):        super(Player, self).__init__()        self.image = pygame.Surface((60, 30))        self.image.fill("white")        self.rect = self.image.get_rect(left=WIDTH//2, top=HEIGHT//2)

当初程序运行起来没有任何成果,因为没有将图片绘制到游戏窗口。接下来,咱们定义一个update函数,将小方块绘制进去。咱们调用screen.blit函数,括号外面传入的是要显示的图片名称self.image,以及图片要在哪里显示。

def update(self):    screen.blit(self.image, self.rect)

1.1 方块的显示

咱们当初将小方块显示在游戏窗口,咱们在while循环里面,生成一个player对象,而后在while循环外面,调用player对象的update函数,绘制出小方块!咱们运行程序看看成果!

# 实例化Player对象player = Player()while True:    for event in pygame.event.get():        if event.type == QUIT:            sys.exit()    player.update()    pygame.display.update()

好了,咱们看到小方块曾经显示进去了!下一集咱们让小方块动起来!