Files
CINC/README.md
T
2025-12-31 00:31:39 +08:00

71 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CINC 游戏项目
## 项目介绍
CINC是一个基于Phaser.js开发的2D策略/模拟游戏项目。该项目采用模块化架构设计,实现了单位管理、选择控制、移动命令等核心游戏功能,支持键盘和鼠标操作,以及虚拟摇杆控制。
## 功能特性
- **单位系统**:创建和管理游戏单位,支持单位移动和碰撞检测
- **选择系统**:支持单选和框选多个单位
- **命令系统**:处理单位移动命令,支持相对移动和目标点移动
- **输入系统**:统一处理键盘和鼠标输入
- **响应式设计**:适配不同屏幕尺寸
- **虚拟摇杆**:支持触摸设备操作
## 技术栈
- **游戏引擎**:Phaser.js
- **开发语言**:ES6+ JavaScript (模块化)
- **渲染技术**:HTML5 Canvas
- **物理系统**:Phaser Arcade Physics
## 项目结构
```
├── config/ # 游戏配置文件
│ └── gameConfig.js
├── index.html # 入口HTML文件
├── main.js # 游戏初始化入口
├── objects/ # 游戏对象定义
│ └── Unit.js # 单位类
├── phaser.min.js # Phaser.js库
├── scenes/ # 游戏场景
│ └── GameScene.js
├── systems/ # 游戏系统
│ ├── CommandSystem.js # 命令处理系统
│ ├── ControlMode.js # 控制模式管理
│ ├── InputSystem.js # 输入处理系统
│ └── SelectionSystem.js # 单位选择系统
├── ui/ # 用户界面组件
│ └── VirtualJoystick.js # 虚拟摇杆
└── utils/ # 工具文件
```
## 运行方法
1. 使用Python启动本地HTTP服务器:
```bash
python -m http.server 8000
```
2. 在浏览器中访问:
```
http://localhost:8000
```
## 游戏操作
- **单选单位**:鼠标左键点击单位
- **框选单位**:按住鼠标左键拖动框选多个单位
- **移动命令**:点击空地指定移动目标点
- **键盘控制**:使用WASD或方向键进行相对移动(需先选中单位)
## 开发说明
项目采用模块化设计,各系统之间通过事件系统通信,便于扩展和维护。主要系统职责:
- **InputSystem**:处理所有输入事件,转换为游戏命令
- **SelectionSystem**:管理单位选择状态
- **CommandSystem**:执行具体游戏命令
- **Unit**:单位对象,处理自身逻辑和渲染
## 扩展建议
- 添加单位属性系统(生命值、攻击力等)
- 实现战斗系统
- 添加地图和关卡系统
- 实现资源管理系统
- 添加UI界面(控制面板、状态栏等)