pygame学习(一)——pygame库的导包、初始化、窗口的设置、打印文字

发布时间:2023年12月31日

导语?

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 pygame
pygame.init()
screen_width=1024
screen_height=768
screen=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,0
lightgreen=144,238,144

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的退出程序

?四、整体代码

import pygame #导包
from pygame.locals import*
import sys

black=0,0,0
lightgreen=144,238,144

pygame.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库的导包、初始化、窗口的设置(边框设置、大小等)、打印文字(位置、颜色等方面得设置)。

文章来源:https://blog.csdn.net/weixin_53197693/article/details/135297777
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。