forked from zhiyuan/Project1
更新说明文档和退出关键字
This commit is contained in:
1 parent
b8b95377ce
commit
338af57951
3 files changed
+38
-5
No files matched your search
@@ -1 +1,35 @@
|
||||
### 项目1文档
|
||||
### 项目技术方案
|
||||
- 游戏引擎: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
|
||||
```
|
||||
|
||||
### 执行逻辑
|
||||
1. start.py中执行Game() # 开始游戏
|
||||
2. 类执行初始化__init__() # 读取game_config.py中的配置,初始化窗口画布等,初始化首个场景MainMenuScene并记录到self.scene
|
||||
3. 初始化函数调用run()开始主循环 # 循环中获取事件并发送给场景的handle_event()方法用于接收玩家输入
|
||||
4. 主循环中调用self.scene.update()方法 # 每帧更新场景中实现的游戏逻辑
|
||||
5. 场景切换通过改变self.scene实现 # 主循环中读取场景类的next_scene参数,为None不切换,否则切换为src\config\scenes.py中类实例化对象
|
||||
6. 退出游戏通过设置running为False实现 # 主循环中读取场景类的next_scene参数,为"exit"时退出
|
||||
Reference in new issue
Block a user