|
|
3 tháng trước cách đây | |
|---|---|---|
| .creator | 6 tháng trước cách đây | |
| .vercel | 4 tháng trước cách đây | |
| assets | 3 tháng trước cách đây | |
| docs | 3 tháng trước cách đây | |
| settings | 3 tháng trước cách đây | |
| .gitignore | 6 tháng trước cách đây | |
| BallController配置应用修复说明.md | 4 tháng trước cách đây | |
| EventBus事件使用分析报告.md | 4 tháng trước cách đây | |
| MenuUI音频控制系统实现说明.md | 3 tháng trước cách đây | |
| README.md | 5 tháng trước cách đây | |
| check_visual_config_trail.py | 4 tháng trước cách đây | |
| compare_weapon_config.py | 3 tháng trước cách đây | |
| damage_calculation_analysis.py | 3 tháng trước cách đây | |
| damage_calculation_report.md | 4 tháng trước cách đây | |
| damage_display_fix_verification.py | 4 tháng trước cách đây | |
| damage_fluctuation_analysis.py | 3 tháng trước cách đây | |
| debug_actual_gameend.js | 3 tháng trước cách đây | |
| debug_visual_config.py | 4 tháng trước cách đây | |
| dependency-graph.svg | 3 tháng trước cách đây | |
| fix_weapon_costs.py | 3 tháng trước cách đây | |
| gameend_debug_patch.ts | 3 tháng trước cách đây | |
| package-lock.json | 3 tháng trước cách đây | |
| package.json | 3 tháng trước cách đây | |
| test_ball_anti_trap.js | 3 tháng trước cách đây | |
| test_block_shape_debug.js | 4 tháng trước cách đây | |
| test_both_defeat_scenarios.js | 3 tháng trước cách đây | |
| test_comprehensive_defeat_scenarios.js | 3 tháng trước cách đây | |
| test_config_loading.js | 4 tháng trước cách đây | |
| test_enemy_features.js | 3 tháng trước cách đây | |
| test_enemy_health_fix.js | 4 tháng trước cách đây | |
| test_energy_system.js | 3 tháng trước cách đây | |
| test_enhanced_anti_trap.js | 3 tháng trước cách đây | |
| test_game_end_fix.js | 3 tháng trước cách đây | |
| test_gameend_node_debug.js | 3 tháng trước cách đây | |
| test_ground_burn_fix.js | 3 tháng trước cách đây | |
| test_heartlabel_fix.js | 4 tháng trước cách đây | |
| test_menu_button_state_fix.js | 3 tháng trước cách đây | |
| test_realtime_gameend_debug.js | 3 tháng trước cách đây | |
| test_skill_system.js | 4 tháng trước cách đây | |
| test_trail_effect.py | 4 tháng trước cách đây | |
| test_visual_config.py | 4 tháng trước cách đây | |
| test_wall_config.js | 4 tháng trước cách đây | |
| test_wall_config_fix.js | 4 tháng trước cách đây | |
| test_wall_config_integration.js | 4 tháng trước cách đây | |
| test_wall_defeat_debug.js | 3 tháng trước cách đây | |
| test_watermelon_bomb_audio_fix.js | 3 tháng trước cách đây | |
| test_watermelon_bomb_fix.js | 3 tháng trước cách đây | |
| test_watermelon_bomb_instant_explosion.js | 3 tháng trước cách đây | |
| test_weapon_damage.py | 4 tháng trước cách đây | |
| tsconfig.json | 6 tháng trước cách đây | |
| verify_energy_config.py | 3 tháng trước cách đây | |
| 僵尸血量显示异常修复说明.md | 4 tháng trước cách đây | |
| 地面燃烧区域物理系统错误修复说明.md | 3 tháng trước cách đây | |
| 小球防围困机制测试指南.md | 3 tháng trước cách đây | |
| 敌人属性配置修复说明.md | 4 tháng trước cách đây | |
| 方块放置逻辑流程图.svg | 4 tháng trước cách đây | |
| 武器解锁问题修复指南.md | 4 tháng trước cách đây | |
| 游戏结束流程优化方案.md | 3 tháng trước cách đây | |
| 验证BallController配置应用.py | 4 tháng trước cách đây |
本项目基于 Cocos Creator (v3.x) 打造的休闲射击闯关游戏。玩家在主界面点击「战斗」按钮后进入关卡布阵场景,放置方块并点击确定后正式开始战斗。当所有波次敌人被消灭则胜利;护栏血量降为 0 则失败,分别进入胜/败界面,可选择继续或返回主界面。
.
├── assets/ # Cocos 资源与脚本
│ ├── data/ # 静态配置(武器、敌人等 JSON)
│ ├── scripts/ # TypeScript 业务脚本
│ │ ├── Core/ # 核心工具与基础设施
│ │ ├── CombatSystem/ # 战斗相关逻辑
│ │ ├── LevelSystem/ # 关卡/波次/游戏管理
│ │ └── ShopSystem/ # 商店与经济系统
└── README.md # 本说明文档
Core/BaseSingleton.ts 是所有 组件型单例 的基类,实现通用单例注册/回收逻辑。
使用方式:
@ccclass('PhysicsManager')
export class PhysicsManager extends BaseSingleton {
protected init() {
// 首次实例化时的初始化逻辑
}
}
// 其他脚本中
PhysicsManager.getInstance().doSomething();
Core/EventBus.ts 提供全局轻量事件总线,方便模块间解耦通信。
EventBus.getInstance().on(GameEvents.GAME_SUCCESS, () => { /* ... */ }, this);
EventBus.getInstance().emit(GameEvents.GAME_SUCCESS);
BaseSingleton 或纯数据类,根据需求选型。| 文件 | 说明 |
|---|---|
| BaseSingleton.ts | 单例基类 |
| EventBus.ts | 全局事件系统 |
| ConfigManager.ts | 统一加载武器/敌人等 JSON 配置 |
| PhysicsManager.ts | 物理系统封装(下一步改为继承 BaseSingleton) |
| 关键脚本 | 说明 |
|---|---|
| EnemyController.ts | 敌人生成与行为控制(建议改为单例或数据驱动) |
| BlockManager.ts | 方块放置与武器挂载逻辑 |
| BallController.ts | 触发武器射击的小球控制 |
| 关键脚本 | 说明 |
|---|---|
| GameManager.ts | 游戏主体流程(正在拆分) |
| LevelManager.ts | 关卡进度保存/读取(纯数据单例) |
| LevelConfigManager.ts | 异步加载关卡 JSON 配置 |
| 脚本 | 说明 |
|---|---|
| ShopManager.ts | 处理货币、物品购买,现已继承 BaseSingleton |
BaseSingleton,提供 getInstance() 全局访问。State 类。START → PLAYING → PAUSE → SUCCESS/DEFEAT 生命周期。GameEvents,消除直接引用。strict 模式,充分利用接口、泛型与可选链。PascalCase 类名、camelCase 方法/变量。components/ 目录。build/ 目录部署到 Web 服务器或打包原生平台。© 2024 游戏团队 – 欢迎提交 Issue 与 PR,共建更优秀的代码架构。