1.导入Pygame模块
(1) 模块并初始化
① Import pygame
② Pygame.init()
(2) 创建窗体
① Window_size = (800,600) 长宽
② Screen= pygame.disply.set_mode(Window_size)
③ pygame.disply.set_caption("My First Pygame Window") 设置窗体标题
(3) 主循环
① Running = True 主循环标志
② while running:
for event in pygame.event.get(): 事件遍历
if event.type == pygame.QUIT:
Running =False
Pygame.quit() 退出
2.绘制图形
(1) 设置颜色
① WHITE = (255,255,255)
② BLACK = (0,0,0)
③ RED = (255,0,0)
④ GREEN = (0,255,0)
⑤ BLUE = (0,0,255)
(2) 绘制矩形
① pygame.draw.rect(screen,RED,(100,100,50,50))
② pygame.draw.circle(screen,BLUE,(200,200),30)
(3) 更新屏幕
① Pygame.display.flip() 更新整个待显示的Surface对象到屏幕上
② Pygame.display.update() 更新部分内容显示到屏幕上,如果没有参数,则与flip功能相同
3.加载图像和显示图形
(1) Player_image = pygame.image.load('play.png') 加载图形
① Pygame.image.load('').convert_alpha # convert_alpha相对于convert,保留了图像的Alpha 通道信息,可以认为是保留了透明的部分,实现了透明转换,相比较直接使用load提高了blit的速度
(2) Screen.blit(Player_image,(100,100)) #显示图形(图片,位置)
4.处理键盘输入
(1) 检测键盘事件
① For event in pygame.event.get():
If event.type == pygame.KEYDOWN: 键盘按下事件
if event.key == pygame.K_LEFT: 按下Left
Pass
(2) 鼠标输入
① For event in pygame.event.get():
If event.type ==pygame.MOUSEBUTTONDOWN: 鼠标按下
Pass
5.背景音乐和音效的添加
(1) 初始化混音器
① Pygame.mixer.init()
(2) 加载和播放背景音乐
① Pygame.mixer.music.load('xxxx.mp3') 加载
② Pygame.mixer.msic.play(-1) -1 表示循环播放
(3) 加载和播放音效
① Collision_sound = pygame.mixer.Sound('collision.wav')
② Collision_sound.play()
6.动画与帧率的控制值
(1) 控制帧率
① Clock = pygame.time.clock() 创建时钟对象
Clock.tick(60) 设置帧率为60FPS
1 import pygame
2 pygame.init()
3
4 window_size = (800, 600)
5 screen = pygame.display.set_mode(window_size)
6 pygame.display.set_caption("窗体名称")
7 running = True # 主循环标志
8 clock = pygame.time.Clock() # 创建时钟对象
9 player_image = [pygame.image.load(r'xxx\Peashooter_{:02d}.png'.format(i)).convert_alpha() for i in range(0, 25)] # 加载图片
10 index = 0
11 while running: # 主循环
12
13 screen.fill((255,255,255)) #背景纯白
14 screen.blit(player_image[index % len(player_image)], (2, 2)) #图片显示
15 pygame.display.update() #参数是个矩形样式或矩形样式的序列
16 # pygame.display.flip()
17 for event in pygame.event.get(): # 事件遍历
18 if event.type == pygame.QUIT:
19 running = False
20 if event.type == pygame.MOUSEBUTTONDOWN:
21 index +=1 #点击更新图片
22
23
24 clock.tick(60) # 设置帧率为60FPS