一、前期准备
1.1 pygame 的使用
- 安装 pygame
1 | $ sudo pip3 install pygame |
- 验证安装
1 | $ python3 -m pygame.examples.aliens |
1.1.1 游戏初始化和退出
方法 | 说明 |
---|---|
pygame.init() |
导入并初始化所有 pygame 模块,使用其他模块之前,必须先调用 init 方法 |
pygame.quit() |
卸载所有 pygame 模块,在游戏结束之前调用! |
1.1.2 游戏中的坐标系
1 | Rect(x, y, width, height) -> Rect |
- 在游戏中,所有可见的元素 都是以 矩形区域 来描述位置的,pygame
专门提供了一个类
pygame.Rect` 用于描述 矩形区域
- 要描述一个矩形区域有四个要素:
(x, y) (width, height)
- 不执行
pygame.init()
方法同样能够直接使用
1.3 创建游戏主窗口
pygame
专门提供了一个 模块pygame.display
用于创建、管理 游戏窗口
方法 | 说明 |
---|---|
pygame.display.set_mode() |
初始化游戏显示窗口 |
pygame.display.update() |
刷新屏幕内容显示,稍后使用 |
set_mode
方法——创建游戏显示窗口
1 | set_mode(resolution=(0,0), flags=0, depth=0) -> Surface |
参数
resolution
指定屏幕的宽
和高
,默认创建的窗口大小和屏幕大小一致flags
参数指定屏幕的附加选项,例如是否全屏等等,默认不需要传递depth
参数表示颜色的位数,默认自动匹配
返回值
- 暂时 可以理解为 游戏的屏幕,游戏的元素 都需要被绘制到 游戏的屏幕 上
注意:必须使用变量记录
set_mode
方法的返回结果!因为:后续所有的图像绘制都基于这个返回结果
1 | # 创建游戏主窗口 |
1.4 简单的游戏循环
- 为了做到游戏程序启动后,不会立即退出,通常会在游戏程序中增加一个 游戏循环
1 | # 创建游戏主窗口 |
1.2 游戏框架搭建
二、项目源码
该项目共两个模块:
plane_sprites
与plane_main
1 | import random |
1 | import pygame |