pygame学习笔记01: 第一个pygame程序
本学习笔记主要内容来源:
目录
代码:
import sys
import pygame
#初始化pygame
pygame.init()
#创建surface对象, 设置窗口, 大小(600, 480)
screen = pygame.display.set_mode((600, 480), 0, 32)
#设置窗口标题
pygame.display.set_caption('my game')
#设置窗口背景颜色
screen.fill((0, 0, 0))
#获取字体对象
basicFont = pygame.font.SysFont('simhei', 40)
#basicFont = pygame.font.Font('C:/Windows/Fonts/simhei.ttf', 50) #通过文件路径
#print('\n'.join(sorted(pygame.font.get_fonts()))) #打印可用的字体名字
#获取文本对象
# 参数一: 文本内容
# 参数二: 字体是否平滑
# 参数三: 字体颜色(RGB模式)
# 参数四: 字体背景色(RGB模式)
text = basicFont.render('INFORMATION', True, (255, 255, 255), (0, 0, 255))
#获取显示对象的rect区域坐标
textRect = text.get_rect()
textRect.center = (300, 240) #设置文字矩形放到screen中间.
#将渲染的文本绘制到窗口screen上
screen.blit(text, textRect)
#绘制直线
# 参数一: 窗口对象
# 参数二: 直线颜色
# 参数三: 直线起点
# 参数四: 直线终点
# 参数五: 直线宽度
pygame.draw.line(screen, (0, 255, 0), (50, 40), (400, 40), 5)
#绘制矩形
# 参数一: 窗口对象
# 参数二: 矩形颜色
# 参数三: 矩形坐标, 前两个数为左上角坐标, 后两个数为右下角坐标.
pygame.draw.rect(screen, (100, 100, 100), (50, 60, 90, 80))
#绘制圆形
# 参数一: 窗口对象
# 参数二: 圆形颜色
# 参数三: 圆形圆心
# 参数四: 圆形半径
# 参数五: 线条宽度
pygame.draw.circle(screen, (255, 0, 0), (180, 70), 20, 4)
#绘制椭圆
# 参数一: 窗口对象
# 参数二: 椭圆颜色
# 参数三: 椭圆x和y轴的左上角
# 参数四: 椭圆x和y的半径
# 参数五: 线条宽度
pygame.draw.ellipse(screen, (200, 200, 200), (230, 70, 80, 50), 4)
#绘制多边形
# 参数一: 窗口对象
# 参数二: 多边形颜色
# 参数三: 点坐标元组, 最后一个点与第一个点一致(表示一个封闭的多边形?)
pygame.draw.polygon(screen, (0, 0, 255), ((327, 109), (381, 109), (399, 55), (413, 109), (468, 109), (424, 139), (440, 190), (398, 162), (355, 189), (370, 140), (327, 109)))
#固定代码段, 实现点击"X"号退出界面.
#如果不捕获pygame事件, 则窗口会一闪而过.
while True:
#循环获取事件, 监听事件状态
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit() #卸载所有模块
sys.exit() #退出程序
#更新并绘制窗口内容
# flip()和update()的区别:
# flip(): 更新整个待显示的内容
# update(): 可以根据选定的区域来更新部分内容
# 如果update没有提供区域位置参数, 则update与flip相同.
pygame.display.flip()
#pygame.display.update()
运行结果: