本期,bug菌将要给大家讲解pygame的基础操作。
零、安装pygame
在讲解之前,我们得先学会安装pygame。
已经安装的小伙伴们可以直接看正片。
在cmd命令行或者ide的终端输入:pip install pygame
,回车,等一会儿就会发现已经在下载。
下载完成之后,如果不放心,可以再输一遍指令,只要没有红色的字就是下载成功了。
一、使用pygame显示一段文字
安装完成之后,我们就可以开始今天的主题了。
什么?你说你没有python?那我也没办法,自己先下一个再来吧!
你问我怎么下?自己上百度搜一搜不就知道了
\color{white}你问我怎么下?自己上百度搜一搜不就知道了
你问我怎么下?自己上百度搜一搜不就知道了
好的,圆规正转。首先,我们需要在代码开头导入pygame以及sys:
import pygame
import sys
接下来是初始化:
pygame.init()
初始化是必不可少的,没有就会报错。
初始化之后就可以加一下常用语句,如下:
game = pygame.display.set_mode((300,300))
# game为变量名,可以根据自己的喜好更改
pygame.display.set_caption("Game")
# Game为标题,也就是显示在窗口最上方的文本
f = pygame.font.Font('C:/Windows/Fonts/simhei.ttf',30)
# f为变量名(以后就不解释了),第一个参数为字体位置,第二个参数为文字大小
text = f.render("Debug618/作者",True,(255,255,255),(0,0,0))
# 第一个参数为文字内容,第二个为文字是否圆滑,第三个为文字颜色,第四个为文字背景(都使用RGB)
textr = text.get_rect()
# 获取文字的rect区域坐标
textr.center = (150,150)
# 第一个参数为文字的x坐标,第二个为文字的y坐标,为窗口的一半即居中
screen.blit(text,textr)
# 将文字变量text按照之前的设定显示在窗口内
while True:
# 主循环,程序的核心
for event in pygame.event.get():
# 循环获取事件,监听事件状态
if event.type == pygame.QUIT:
# 判断用户是否点了关闭按钮
pygame.quit()
# 卸载所有模块
sys.exit()
# 终止程序,确保退出程序
pygame.display.flip()
# 更新屏幕内容
综合一下,我们可以得到:
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((300,300))
pygame.display.set_caption("Goodjob")
f = pygame.font.Font('C:/Windows/Fonts/simhei.ttf',30)
text = f.render("Debug618/作者",True,(255,255,255),(0,0,0))
textr = text.get_rect()
textr.center = (150,150)
screen.blit(text,textr)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.flip()
运行结果:
我们也可以通过screen.fill((R,G,B))
来设置窗口背景。
不同于文字背景的是,窗口背景会覆盖整个窗口,而文字背景仅会显示在文字底下。
把这行代码加入:
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((300,300))
screen.fill((0,160,220))
# 将全局背景设为天蓝色
pygame.display.set_caption("Goodjob")
f = pygame.font.Font('C:/Windows/Fonts/simhei.ttf',30)
text = f.render("Debug618/作者",True,(255,255,255),(0,0,0))
textr = text.get_rect()
textr.center = (150,150)
screen.blit(text,textr)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.flip()
运行结果:
这时我们会发现,文字底下还有一段黑色显示在蓝色上方。
这就是文字背景和背景(全局背景)的区别。
The End
本期内容到这里就finish了。
pygame系列会不定时更新,想持续关注的小伙伴们可以订阅此专栏,实时接收更新通知。
如果喜欢的话,不妨点个赞评个论收藏加关注吧,我们下期再见,eeeeeees!