导语

pygame是一个跨平台Python库(pygame news),专门用来开发游戏。pygame主要为开发、设计2D电子游戏而生,提供图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等。使用pygame,理论上可以开发设计市面上所有的2D类型游戏。

优点:pygame免费、开源,支持多种操作系统,具有良好的跨平台性。

适用范围:pygame适合小型2D游戏开发,比如飞机大战、贪吃蛇、扫雷等。游戏越大,开发越困难。

另外,在使用pygame之前需要先安装。可以在命令行中通过“pip install pygame”命令安装pygame库。同时,需要了解Surface(表面)、Rect(矩形)、Event(事件)等基本概念和术语。例如,所有的图形都是绘制在Surface对象上的;所有图形都是使用矩形表示的;所有操作都是通过事件来实现的。

一、初始化和创造窗口

pygame.display.set_mode(size=(0,0),flags=0,depth=0,display=0,vsync=0)

黄色这部分感觉基本上也用不到,也就flags能够看一下,想深入了解的看一下官方文档吧

import pygame #导包pygame.init() #初始化screen = pygame.display.set_mode((1024,768))#绘制一个1024*768的框框
flags=FULLSCREEN创建一个全屏显示
flags=DOUBLEBUF仅适用于OPENGL
flags=HWSURFACE(在pygame 2中已过时)硬件加速,仅在全屏模式下
flags=OPENGL创建一个 OPENGL 渲染的显示
flags=RESIZABLE创建一个可调整尺寸的窗口
flags=NOFRAME创建一个没有边框和控制按钮的窗口
flags=SCALED分辨率取决于桌面大小和图形比例
flags=SHOWN窗口以可见模式打开(默认)
flags=HIDDEN窗口以隐藏模式打开

也可以通过以下代码来设计窗口的大小:

import pygamepygame.init()screen_width=1024screen_height=768screen=pygame.display.set_mode([screen_width, screen_height])

二、打印字体

pygame.font.Font() #获取的是当前文件的字体文件

pygame.font.Font(None,11) #可以向pygame.font.Font()构造函数提供一个TrueType字体,但是,使用None (不带引号)将会导致使用默认的Pygame字体。(平时采用其他字体时要用 “” )

推荐一个查找颜色的网站:WEB标准颜色表_RGB颜色对照表_常用网页配色表_html安全色色卡_中英文色彩名称大全 – 桔子SEO

black=0,0,0lightgreen=144,238,144print(pygame.font.get_fonts())#获取看一下本机支持哪些字体myfont = pygame.font.SysFont('arialblack',100)#使用“arialblack”字体,并采取100的字号textImage = myfont.render("Hello",True,lightgreen)#第一个参数是文本信息,第二个参数是抗锯齿字体的一个标志,第三个参数是颜色(一个RGB值)。

三、循环(保持窗口显示)

运用以上代码后发现,窗口一闪而过,看不清发生什么就消失了,所以需要循环代码

while True:for event in pygame.event.get():if event.type in (QUIT,KEYDOWN):sys.exit()#python的退出程序

四、整体代码

import pygame #导包from pygame.locals import*import sysblack=0,0,0lightgreen=144,238,144pygame.init() #初始化screen = pygame.display.set_mode((500,500))#绘制一个1024*768的框框print(pygame.font.get_fonts())#获取看一下本机支持哪些字体myfont = pygame.font.SysFont('arialblack',100)#使用“arialblack”字体,并采取100的字号textImage = myfont.render("Hello",True,lightgreen)#第一个参数是文本信息,第二个参数是抗锯齿字体的一个标志,第三个参数是颜色(一个RGB值)。while True:for event in pygame.event.get():if event.type in (QUIT,KEYDOWN):sys.exit()#python的退出程序#循环screen.fill(black)#清除屏幕screen.blit(textImage,(200,200))#绘制图像pygame.display.update()#刷新展示

小结

本篇文章总结了pygame库的导包、初始化、窗口的设置(边框设置、大小等)、打印文字(位置、颜色等方面得设置)。