• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

02游戏主角就长这样小方块的显示面向对象编程

python 搞代码 3年前 (2022-04-16) 28次浏览 已收录 0个评论
文章目录[隐藏]

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

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()

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:02游戏主角就长这样小方块的显示面向对象编程

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址