【Pygame 学习笔记】1.初步搭建Pygame框架

欢迎来到Pygame学习笔记专栏,这是专栏的第一篇文章,从这篇文章开始,我们将深入地学习Pygame!


今天,我们来学习如何搭建Pygame框架,我们使用类和对象的方式,这样代码更有条理,更容易规划!

首先导入模块,我们需要pygame,还要pygame中的一些常量,也就是pygame.locals,sys用于退出程序

import pygame
from pygame.locals import *
import sys

定义一个类Game,用W和H存储宽高数据,为什么要用变量呢?因为我们设计一款游戏的时候难免要更改一些参数,比如窗口大小等等,如果我们使用绝对坐标的话,改变窗口大小后,很多东西都要重新去调整,这样调试的时候,就更麻烦,代码也会更繁琐,我们用变量存储,可以使用相对的坐标,通过这些存储于变量的数据进行计算,即使改变这些参数,也能自动地调整好,不管写什么代码,都要养成这样的好习惯!

class Game:
    def __init__(self):
        pygame.init()
        self.W,self.H=800,800
        self.screen=pygame.display.set_mode((self.W,self.H))

顺着条理,我们还需要一个用于监听事件的函数,这样在按下鼠标、键盘、退出窗口等等操作就可以通过这个函数进行捕捉哦!通过pygame.event.get函数捕捉到事件,然后遍历,如果它的类型QUIT,也就是退出窗口,那就结束程序

    def listen(self):
        for event in pygame.event.get():
            if event.type==QUIT:
                sys.exit()

定义一个draw函数,用于绘制物体,在我们第一个学习笔记中,我们不需要绘制任何内容,只需要搭建框架,就用pass代替

    def draw(self):
        pass

最后,我们需要一个主循环,也就是不断调用listen事件监听和绘制函数,并刷新屏幕,刷新屏幕用pygame.display.update函数

    def run(self):
        while True:
            self.listen()
            self.draw()
            pygame.display.update()

实例化Game,运行程序

if __name__ == '__main__':
    game=Game()
    game.run()

最终代码

import pygame
from pygame.locals import *
import sys

class Game:
    def __init__(self):
        pygame.init()
        self.W,self.H=800,800
        self.screen=pygame.display.set_mode((self.W,self.H))

    def listen(self):
        for event in pygame.event.get():
            if event.type==QUIT:
                sys.exit()

    def draw(self):
        pass

    def run(self):
        while True:
            self.listen()
            self.draw()
            pygame.display.update()

if __name__ == '__main__':
    game=Game()
    game.run()

这样就有一个窗口啦!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值