feat(item) 优化移动及添加测试场景

This commit is contained in:
chicrobot committed 2026-01-04 00:55:48 +08:00
1 parent 2f7210f47e
commit b9a5180293
15 files changed
+1428 -62

No files matched your search

+64 -10
View File
@@ -8,6 +8,8 @@ CINC是一个基于Phaser.js开发的2D策略/模拟游戏项目。该项目采
- **选择系统**:支持单选和框选多个单位
- **命令系统**:处理单位移动命令,支持相对移动和目标点移动
- **输入系统**:统一处理键盘和鼠标输入
- **物品系统**:支持物品的创建、拾取、使用和管理
- **侧边栏UI**:显示游戏信息、角色属性、物品详情和交互提示
- **响应式设计**:适配不同屏幕尺寸
- **虚拟摇杆**:支持触摸设备操作
@@ -21,20 +23,34 @@ CINC是一个基于Phaser.js开发的2D策略/模拟游戏项目。该项目采
```
├── config/ # 游戏配置文件
│ └── gameConfig.js
├── data/ # 游戏数据文件
│ └── items.json # 物品数据定义
├── index.html # 入口HTML文件
├── items/ # 物品系统
│ ├── Item.js # 物品类
│ └── ItemManager.js # 物品管理器
├── main.js # 游戏初始化入口
├── objects/ # 游戏对象定义
│ └── Unit.js # 单位类
├── phaser.min.js # Phaser.js库
├── scenes/ # 游戏场景
│ └── GameScene.js
│ ├── BootScene.js # 启动场景
│ ├── GameScene.js # 主游戏场景
│ ├── ItemTestScene.js # 物品系统测试场景
│ ├── MovementTestScene1.js # 移动测试场景1
│ ├── MovementTestScene2.js # 移动测试场景2
│ ├── MovementTestScene3.js # 移动测试场景3
│ ├── MovementTestScene4.js # 移动测试场景4
│ ├── MovementTestScene5.js # 移动测试场景5
│ └── MovementTestScene6.js # 移动测试场景6
├── systems/ # 游戏系统
│ ├── CommandSystem.js # 命令处理系统
│ ├── ControlMode.js # 控制模式管理
│ ├── InputSystem.js # 输入处理系统
│ └── SelectionSystem.js # 单位选择系统
├── ui/ # 用户界面组件
│ └── VirtualJoystick.js # 虚拟摇杆
│ ├── MiniMap.js # 小地图组件
│ └── VirtualJoystick.js # 虚拟摇杆
└── utils/ # 工具文件
```
@@ -50,22 +66,60 @@ http://localhost:8000
```
## 游戏操作
### 单位操作
- **单选单位**:鼠标左键点击单位
- **框选单位**:按住鼠标左键拖动框选多个单位
- **移动命令**:点击空地指定移动目标点
- **键盘控制**:使用WASD或方向键进行相对移动(需先选中单位)
### 物品操作
- **查看物品信息**:鼠标左键点击物品
- **拾取物品**:点击物品后按E键
- **快捷使用物品**:点击物品后按Q键
- **创建随机物品**:按1键
- **创建食物类物品**:按2键
- **创建工具类物品**:按3键
- **清理所有物品**:按4键
### 场景导航
- **返回启动场景**:按空格键
### 相机控制
- **移动视角**:使用WASD或方向键
- **小地图交互**:点击小地图快速移动视角,拖拽小地图调整视角
## 开发说明
项目采用模块化设计,各系统之间通过事件系统通信,便于扩展和维护。主要系统职责:
- **InputSystem**:处理所有输入事件,转换为游戏命令
- **SelectionSystem**:管理单位选择状态
- **CommandSystem**:执行具体游戏命令
- **InputSystem**:处理所有输入事件,转换为游戏命令,支持键盘、鼠标和虚拟摇杆输入
- **SelectionSystem**:管理单位选择状态,支持单选和框选
- **CommandSystem**:执行具体游戏命令,处理单位移动和交互
- **ItemManager**:加载和管理物品数据,创建和维护物品实例
- **Unit**:单位对象,处理自身逻辑和渲染
- **Item**:物品对象,处理物品交互和使用逻辑
## 扩展建议
- 添加单位属性系统(生命值、攻击力等)
- 实现战斗系统
- 添加地图和关卡系统
- 实现资源管理系统
- 添加UI界面(控制面板、状态栏等)
- **物品系统扩展**:
- 实现背包系统,管理拾取的物品
- 添加物品合成和制作系统
- 实现物品耐久度和消耗机制
- 添加更多物品类型和属性
- **战斗系统**:
- 实现单位属性系统(生命值、攻击力等)
- 添加攻击和防御机制
- 实现战斗动画和特效
- **地图和关卡系统**:
- 实现地图生成和加载
- 添加关卡目标和胜利条件
- 实现地形和障碍物系统
- **资源管理系统**:
- 添加资源采集和生产机制
- 实现资源存储和消耗系统
- **UI界面扩展**:
- 实现背包界面
- 添加角色属性面板
- 实现技能和升级系统界面
- 添加游戏菜单和设置界面
- **多人游戏**:
- 实现本地多人游戏
- 添加网络多人游戏支持