东方幻灵舞是一款融合了东方Project角色与弹幕射击玩法的Roguelike生存游戏。玩家可以选择不同的东方角色,通过击败敌人获得经验,升级解锁和强化武器,在无尽的怪物潮中生存下来。
- 🎮 多样化角色系统:包含灵梦、魔理沙、妖梦、辉夜等经典东方角色,每个角色拥有独特的专属武器和能力
- 🔫 武器升级树系统:每个武器拥有独立的升级路线(Lv.1 → Lv.3),并可进阶为高阶武器(Tier 2)
- 👥 羁绊支援系统:选择支援角色提供被动增益,增强战斗能力
- ✨ 华丽特效:基于PixiJS实现的粒子特效、方向动画、残影效果
- 🎯 策略性升级:每次升级提供多个选项,需要权衡武器树路线和角色成长
- 🌈 精美美术:包含大量东方角色立绘、Boss精灵图和场景背景
- WASD - 移动角色
- 鼠标 - 瞄准射击方向(自动攻击)
- 空格键 - 冲刺(短暂加速并无敌)
- 角色选择 - 从主菜单选择你的角色
- 羁绊选择 - 选择一个支援角色获得被动加成
- 战斗 - 击败敌人获取经验升级
- 升级选择 - 每次升级选择武器升级或新武器
- 生存挑战 - 面对越来越强大的敌人和Boss
- Tier 1 武器:基础武器,可升级到Lv.3
- Tier 2 武器:高阶武器,需要特定Tier 1武器达到Lv.3后解锁
- 专属武器:特定角色的独有武器,拥有特殊效果
- Node.js 16.0 或更高版本
- npm 或 yarn 包管理器
- 克隆项目
git clone https://github.com/bladevilR/Touhou.git
cd Touhou- 安装依赖
npm install- 启动开发服务器
npm run dev- 在浏览器中打开
http://localhost:5173
npm run build构建产物将输出到 dist 目录。
- 前端框架:React 19.2
- 游戏引擎:PixiJS 8.14
- 粒子系统:@pixi/particle-emitter 5.0
- 开发语言:TypeScript 5.8
- 构建工具:Vite 6.2
- 部署平台:GitHub Pages
.
├── components/ # React组件
│ ├── GameCanvas.tsx # 主游戏画布(PixiJS渲染)
│ ├── MainMenu.tsx # 主菜单界面
│ ├── LevelUpScreen.tsx # 升级选择界面
│ └── BondSelectionScreen.tsx # 羁绊选择界面
├── public/ # 静态资源
│ ├── map/ # 地图背景图
│ └── *.png # 角色立绘和精灵图
├── constants.ts # 游戏常量和配置
├── types.ts # TypeScript类型定义
├── weapon-defs-new.ts # 武器定义
├── App.tsx # 应用主入口
└── index.tsx # 渲染入口
| 角色 | 特点 | 专属武器 |
|---|---|---|
| 博丽灵梦 | 均衡型 | 阴阳玉、梦想封印 |
| 雾雨魔理沙 | 火力型 | 恋符Master Spark、极光步枪 |
| 魂魄妖梦 | 近战型 | 楼观剑、白楼剑 |
| 十六夜咲夜 | 时停型 | 时停世界、飞刀雨 |
| 蓬莱山辉夜 | 控制型 | 五难题、龙颈玉 |
| 藤原妹红 | 生存型 | 凤凰火、不死之火 |
游戏包含调试UI,可显示:
- FPS性能监控
- 当前游戏时间
- 角色状态
- 武器信息
详见 PERFORMANCE_OPTIMIZATION_GUIDE.md
- 长时间游戏可能导致粒子特效过多影响性能
- 部分角色的动画帧同步需要优化
详见 CHANGELOG.md
欢迎提交Issue和Pull Request!
- Fork本项目
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的改动 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个Pull Request
本项目仅供学习交流使用。东方Project及相关角色版权归ZUN所有。
- GitHub: @bladevilR
- 项目地址: https://github.com/bladevilR/Touhou
- 在线演示: https://bladevilr.github.io/Touhou/
Made with ❤️ by bladevilR