这篇主要是介绍基于Pygame的游戏开发,对游戏开发感兴趣的编程初学者能通过游戏开发很好地提高python 编码能力。
什么是Pygame
Pygame 是一个专门用来开发游戏的 Python 模块,包括一系列的工具可以帮助开发者去做出一款游戏,主要工具有:
- 图形和动画处理
- 声音或音乐处理
- 游戏控制(包括键盘,鼠标,手柄等操作)
游戏循环
游戏的核心是循环,通过循环处理操作所有的游戏事件,游戏每次的循环我们可以叫做帧,帧也即游戏刷新的频率。在每一帧里的时间里可以有很多游戏事件发生,这些事件可以归类为:
- 处理输入(事件)
游戏响应处理外部的输入,例如键盘敲击或鼠标点击等。
- 更新游戏
根据游戏响应去处理游戏各种更新,例如角色的移动或碰撞等。
- 渲染(或者重绘)
游戏画面需要正确重新画出来,例如屏幕背景,角色,菜单等,
- 时钟
游戏循环的一个重要方面就是控制游戏以多快的速度循环,我们一般用FPS(帧每秒) 来表示这个速度,通过这个速度来控制游戏循环快慢。
新建Pygame 模版
现在我们知道游戏有哪些要素了,我们可以先开始编写一个最简单的游戏窗口和游戏循环。
# Pygame template - pygame 项目框架
# 1,先倒入pygame 模块,定义一些常量
import pygame
import random
WIDTH = 360 # 游戏窗口宽度
HEIGHT = 480 # 游戏窗口高度
FPS = 30 # 设置游戏30帧/秒
# 定义颜色常量
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 2,初始化pygame,创建游戏窗口
pygame.init()
pygame.mixer.init() # 初始化声音处理
screen = pygame.display.set_mode((WIDTH, HEIGHT)) # 设置游戏窗口
pygame.display.set_caption("My Game")
clock = pygame.time.Clock() #
# 3,处理游戏循环
running = True
while running:
# 设置正常的循环速度
clock.tick(FPS)
# 1)判断处理输入事件 (events)
for event in pygame.event.get():
# 检查是否点击了关闭窗口(触发关闭事件)
if event.type == pygame.QUIT:
running = False
# 2)更新游戏
# 3)渲染画面,显示画面
screen.fill(BLACK) # 用黑色填充画面
pygame.display.flip()
pygame.quit()
程序执行后,显示一个我们设置的黑窗口,点击关闭窗口则退出游戏。保存这个代码模版,后面丰富我们的游戏可以重用这个模版。
|