pygame简介

pygame是一个免费且开源的跨平台python多媒体库,主要用作游戏开发。pygame诞生于2000年,在python 2D游戏开发领域,pygame是最经典的游戏库

pygame的安装

1.安装前,首先使用pycharm创建一个带虚拟环境的项目,完成如下图设置点击创建即可。
1-1
2.单击Python Packages,在搜索框搜索pygame点击安装包安装即可
在这里插入图片描述
3.验证,如果你想要验证你是否已经安装完毕pygame,您可以在终端输入pip list得到反馈如下:
在这里插入图片描述
或者在终端中输入如下命令去验证:

python -m pygame.examples.aliens

得到反馈如下:
在这里插入图片描述

第一个pygame程序(框架)

首先新建一个py类型的文件夹。操作如下:点击文件>新建>Python文件输入文件名回车即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其次,我们就该开始代码的编写了,首先我们应该我们这个程序都用到了哪些模块,然后引入该模块在python中引入模块所使用的关键字为import所以有了下列两行代码:

#引入相关模块也可以这样写import pygame,sys
import pygame
import sys

相关模块有了我们需要给一个用户可以直接进入的函数,也就是说给用户一个开始该程序的入口,那是什么呢?没错是主函数,进行相应扩充产生了如下代码:

import pygame,sys
if __name__ == '__main__':
#该print语句仅仅是为了程序不报错无实际意义
    print("Hello")

首先我们在使用pygame模块的时候必须要对齐进行初始化,初始化的方法很简单,即调用pygame.init()(pygame.init与pygame.quit()分别对应初始化与逆初始化的过程二者必须同时出现)。然后我们想一想我们通常玩的游戏都有什么?一个显示各种画面的窗口有了需求我们就该思考如何去实现。这时候我们就会注意到pygame.display.set_mode(),该函数接收一个表示宽高的二元组。相关代码实现搞定后扩充代码:

import pygame,sys
if __name__=='__main__':
	pygame.init()
	pygame.display.set_mode((400,300))
	pygame.quit()

到此处用户可以试着运行一下,运行后发现窗口显示了一会后就立马消失了,效果图如下:
请添加图片描述
那么如何让他持久的显示呢?这里就用到了一个循环语句。python中的循环有两种一种是for循环一种是while循环。下列是两者的一个小例子:

#for循环案例
for a in [1,2,3]:
    for b in ['a','b']:
        print(a,b)

输出结果如下:
在这里插入图片描述

#while循环案例
a=0
while a<5:
    a=a+1
    print(a)

输出结果如下:
在这里插入图片描述
如果让while后边的条件恒成立,则while会恒循环除非遇到break或相应事件使其结束循环。然后我们思考一下pygame.quit()的出现时机,它应该在我们点击右上角叉号时起作用它起作用后应该跟着sys.exit()函数去退出控制台以至于程序不报错,那我们该怎么知道用户是否点击了右上角的×号呢。这里我们就用到了pygame.event通过其中的get方法我们可以知道用户究竟在窗口上做了什么,然后使用if语句判断其类型是否与pygame里所拥有的常量相同而去根据用户动作去调用方法,这一步的代码扩充如下:

import pygame,sys
if __name__=='__main__':
	pygame.init()
	pygame.display.set_mode((400,300))
while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()
    #该代码为刷新界面之用会在之后进行讲解
    pygame.display.update()

然后我们对该代码做一些小的调整,将main里的写入一个函数里然后在主函数中调用该函数改造结果如下:

# 引入相关模块
import pygame,sys
# 函数声明与定义
def main():
    # 初始化
    pygame.init()
    # 设置窗口大小
    pygame.display.set_mode((400, 300))
    # 主循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                # 用户点击叉号结束
                pygame.quit()
                sys.exit()
        # 刷新窗口页面
        pygame.display.update()


if __name__=='__main__':
    # 调用函数
	main()

转换时请格外注意缩进

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐