一、基本写法
一个基本的Pygame应用由窗体设置、绘制跟按键响应事件组成。
一个基本的pygame应用如下:
import pygame
# 初始化pygame
pygame.init()
# 设置窗口大小 (width,height)
pygame.display.set_mode((600,400))
# 全屏显示
# pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
# 设置窗口名字
pygame.display.set_caption("演示")
# 设置窗口图标
icon = pygame.image.load('icon.png') # 读取图标文件
pygame.display.set_icon(icon) #设置窗口图标
is_running = Ture
while is_running:
# 读取按键事件判断窗口关闭事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_running = False
# 更新屏幕显示
pygame.display.flip()
# 退出pygame
pygame.quit()
二、绘制
pygame的绘制函数通过pygame.draw引入,具体调用请参考下表。
surface: 窗口实例
color: rgb颜色如(255,255,255)
rect: 坐标元祖也可以是pygame.Rect实例,具体参数为(x轴坐标,y轴坐标,长度,宽度)
center: 圆形的中心位置,(x,y)
radius: 圆形的半径
points: 点列表,[(x1,y1),(x2,y2)]
start_angle: 弧形起始位置
stop_angle: 弧形结束位置,通常使用 math.radians() 将度数转换为弧度。
antialias: 抗锯齿
矩形 | |
形 | |
椭圆形 | |
多边形 | |
弧形(无填充的圆) | |
文字 |
|
图片 | |
三、按键响应
按键响应分为单按键和组合按键,其中单按键可直接通过event.type来进行判断,组合按键通过pygame.key.get_pressed()进行判断,按键与鼠标都区分按下和松开。
1
常用按键常量表如下:
K_a到K_z | 键盘a-z |
K_0到K_9 | 主键盘数字 |
K_KP0到K_KP9 | 小键盘数字 |
K_F1到K_F12 | 键盘F1-F12 |
K_LEFT | 左 |
K_RIGHT | 右 |
K_UP | 上 |
K_DOWN | 下 |
K_ESCAPE | Esc键 |
K_RETURN | 回车键 |
K_BACKSPACE | 退格键 |
K_TAB | TAB键 |
K_DELETE | DELETE键 |
K_LCTRL | 左右CTRL键 |
K_RCTRL | |
K_LALT | 左右ALT键 |
K_RALT |
# 略
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == KEYDOWN:
# 按键被按下
if event.key == K_SPACE: # 以空格键为例
print("空格键被按下")
elif event.type == KEYUP:
# 按键被松开
if event.key == K_SPACE: # 以空格键为例
print("空格键被松开")
# 这里MOUSEBUTTONDOWN不会判断左键右键以及滚轮或拓展按键
# 与之对应的为MOUSEBUTTONUP
elif event.type == MOUSEBUTTONDOWN:
print("鼠标被按下")
if event.button == 1:
print("鼠标左键被按下")
# 等于2时为中键,3为右键,其他侧键可以打印event.button进行查看