1.7 KiB
1.7 KiB
项目技术方案
- 游戏引擎:pygame
- 游戏设计:自行实现多场景
项目结构
project
start.py # 入口,包含初始化和主循环
data\ # 资源
src\ # 代码
config\ # 基础配置
game_config.py # 游戏配置
scenes.py # 场景类字典,用于多场景切换
scenes\ # 游戏场景
base_scene.py # 场景基类,被其他场景继承,含画布、计时器、下一场景、事件接收、每帧更新、切换场景、退出等参数方法
main_menu_scene.py # 主菜单场景,实现了按键组合、按键顺序、鼠标事件、文本显示、雨天特效等功能
game_scene.py # 游戏场景,实现了方向移动、碰撞判断等功能
empty_scene.py # 空场景,测试或复制用
运行
安装依赖
pip install -r requirements.txt
运行
python start.py
执行逻辑
- start.py中执行Game() # 开始游戏
- 类执行初始化__init__() # 读取game_config.py中的配置,初始化窗口画布等,初始化首个场景MainMenuScene并记录到self.scene
- 初始化函数调用run()开始主循环 # 循环中获取事件并发送给场景的handle_event()方法用于接收玩家输入
- 主循环中调用self.scene.update()方法 # 每帧更新场景中实现的游戏逻辑
- 场景切换通过改变self.scene实现 # 主循环中读取场景类的next_scene参数,为None不切换,否则切换为src\config\scenes.py中类实例化对象
- 退出游戏通过设置running为False实现 # 主循环中读取场景类的next_scene参数,为"exit"时退出