更新说明文档和退出关键字
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"时退出
|
||||||
@@ -31,4 +31,4 @@ class BaseScene:
|
|||||||
"""
|
"""
|
||||||
退出游戏
|
退出游戏
|
||||||
"""
|
"""
|
||||||
self.next_scene = "game_exit"
|
self.next_scene = "exit"
|
||||||
@@ -2,7 +2,6 @@ import pygame
|
|||||||
|
|
||||||
from src.config.game_config import GameConfig
|
from src.config.game_config import GameConfig
|
||||||
from src.config.scenes import scene_dict
|
from src.config.scenes import scene_dict
|
||||||
from src.scenes.main_menu_scene import MainMenuScene
|
|
||||||
|
|
||||||
|
|
||||||
class Game:
|
class Game:
|
||||||
@@ -45,8 +44,8 @@ class Game:
|
|||||||
|
|
||||||
# 场景每帧更新逻辑运行
|
# 场景每帧更新逻辑运行
|
||||||
self.scene.update()
|
self.scene.update()
|
||||||
# 当场景的下一场景为game_exit时退出游戏
|
# 当场景的下一场景为exit时退出游戏
|
||||||
if self.scene.next_scene == "game_exit":
|
if self.scene.next_scene == "exit":
|
||||||
self.running = False
|
self.running = False
|
||||||
|
|
||||||
# 更新显示
|
# 更新显示
|
||||||
|
|||||||
Reference in new issue
Block a user