# 系统架构 ## 整体架构 项目采用组件化架构,基于 Cocos Creator 3.8.7 的实体组件系统(ECS)设计。 ## 核心模块 ### 1. 寻路系统 - **TiledMapPathfinder** (`assets/scripts/TiledMapPathfinder.ts`) - 瓦片地图寻路管理器 - 负责世界坐标与瓦片坐标转换 - 集成A*算法进行路径计算 - 提供路径平滑功能 - **AStarPathfinding** (`assets/scripts/AStarPathfinding.ts`) - 纯A*算法实现 - 支持8方向移动 - 包含对角线移动的墙角检测 - 可配置的移动代价 ### 2. 玩家控制系统 - **PlayerController** (`assets/scripts/PlayerController.ts`) - 核心游戏逻辑控制器(1455行) - 处理触摸输入和玩家移动 - 管理动画状态切换 - 实现战斗逻辑 - 处理道具收集和升级系统 - UI弹窗管理 ### 3. 相机系统 - **CameraFollow** (`assets/scripts/CameraFollow.ts`) - 平滑相机跟随 - 地图边界限制 - 可配置的跟随速度和偏移 - 支持初始焦点设置 ### 4. 游戏管理 - **Manager** (`assets/scripts/Manager.ts`) - 游戏初始化管理 - 组件间协调 - 地图信息管理 - **Start** (`assets/scripts/Start.ts`) - 资源分包加载 - 场景跳转管理 ### 5. 辅助组件 - **Shadow2D** (`assets/scripts/Shadow2D.ts`) - 2D阴影效果渲染 - **PathfindingTest** (`assets/scripts/PathfindingTest.ts`) - 寻路系统测试工具 ## 数据流 ``` 用户触摸输入 → PlayerController → TiledMapPathfinder → AStarPathfinding ↓ 动画系统 → 相机跟随 → UI更新 ↓ 碰撞检测 → 战斗逻辑 → 游戏状态更新 ``` ## 关键设计模式 ### 1. 组件模式 - 利用Cocos Creator的组件系统实现模块化 - 每个功能独立封装为组件 ### 2. 观察者模式 - 碰撞事件监听 - 动画完成事件处理 ### 3. 状态模式 - 玩家动画状态管理 - 游戏状态控制 ## 关键实现路径 ### 寻路流程 1. 触摸输入转换世界坐标 2. 世界坐标转瓦片坐标 3. A*算法计算路径 4. 路径平滑处理 5. 瓦片坐标转世界坐标 6. 执行移动动画 ### 战斗流程 1. 碰撞检测触发 2. 玩家对齐到攻击位置 3. 播放攻击动画 4. 比较生命值 5. 执行胜负逻辑 6. 更新游戏状态 ### 升级流程 1. 击败特定怪物触发 2. 道具飞行动画 3. 播放升级特效 4. 切换动画资源 5. 更新玩家状态 ## 性能考虑 - 寻路算法使用开放列表和关闭列表优化 - 动画切换避免重复播放 - 对象池管理(待实现) - 资源分包加载减少初始加载时间