一个基于Unity开发的单音轨音乐节奏游戏,支持用户登录、分数排行榜等功能。
- ✅ 单音轨设计: 专注于节奏训练,简洁明了
- ✅ 三种BPM模式: 120、150、180 BPM可选
- ✅ 纵连配置: 所有谱面采用纵连设计,提高挑战性
- ✅ 可调延迟: 支持-100ms到+100ms的延迟补偿
- ✅ 用户系统: 完整的登录注册功能
- ✅ 全球排行榜: 实时更新的分数排行榜
- ✅ 精确判定: Perfect/Great/Good/Miss四级判定
JackTrainer/
├── UnityProject/ # Unity游戏客户端
│ ├── *.cs # C# 脚本文件
│ ├── SETUP_GUIDE.md # Unity项目设置指南
│ └── README.md # Unity项目说明
│
└── NodeBackend/ # Node.js后端API
├── API_DOCUMENTATION.md # API接口文档
└── README.md # 后端说明
- 使用Unity 2021.3 LTS或更高版本打开项目
- 阅读
UnityProject/SETUP_GUIDE.md了解详细设置步骤 - 将提供的C#脚本导入到Unity项目中
- 按照SETUP_GUIDE配置场景和UI
- 构建并运行
后端API需要你自己实现,参考文档:
- 阅读
NodeBackend/API_DOCUMENTATION.md了解API规范 - 实现用户注册/登录接口
- 实现分数提交和排行榜接口
- 配置CORS允许Unity客户端访问
- 登录: 使用用户名和密码登录或注册
- 设置: 选择BPM模式(120/150/180)和调整延迟补偿
- 游戏: 按空格键或点击鼠标左键击打下落的音符
- 判定:
- PERFECT: 100分
- Great: 80分
- Good: 50分
- Miss: 0分
- 结算: 游戏结束后查看成绩并自动提交到排行榜
- Unity 2021.3 LTS+
- C# 脚本
- Unity UI系统
- UnityWebRequest (网络请求)
- Node.js + Express (推荐)
- MongoDB/MySQL/PostgreSQL (数据库)
- JWT (身份认证)
- bcrypt (密码加密)
| 接口 | 方法 | 说明 |
|---|---|---|
/api/register |
POST | 用户注册 |
/api/login |
POST | 用户登录 |
/api/scores |
POST | 提交分数 |
/api/rankings |
GET | 获取排行榜 |
详细API文档请查看 NodeBackend/API_DOCUMENTATION.md
| 文件名 | 功能 |
|---|---|
Note.cs |
音符数据结构 |
BPMConfigurations.cs |
BPM配置和谱面生成 |
GameManager.cs |
游戏核心逻辑管理 |
NoteObject.cs |
音符对象行为 |
LoginManager.cs |
登录注册管理 |
RankingManager.cs |
排行榜管理 |
RankingItem.cs |
排行榜条目UI |
UIManager.cs |
UI界面管理 |
- 120 BPM: 0.5秒/拍,60个音符,30秒
- 150 BPM: 0.4秒/拍,75个音符,30秒
- 180 BPM: 0.333秒/拍,90个音符,30秒
- 范围: -100ms 到 +100ms
- 用于调整玩家的输入延迟和显示器延迟
- 添加音效和背景音乐
- 支持多音轨模式
- 自定义谱面编辑器
- 更多BPM选项
- 视觉特效增强
- 成就系统
- 好友对战功能
- 录像回放功能
- 使用对象池管理Note对象
- 优化UI渲染
- 减少不必要的Update调用
- 使用协程处理异步操作
本项目仅供学习和参考使用。
Jack Trainer Development Team
- ✅ 初始版本发布
- ✅ 单音轨游戏核心功能
- ✅ 三种BPM模式
- ✅ 用户登录系统
- ✅ 排行榜功能
- ✅ 延迟补偿设置
如有问题或建议,请通过以下方式联系:
- 提交Issue到项目仓库
- 发送邮件至开发团队
祝你游戏愉快!Keep the rhythm! 🎵