# 波次和敌人数量UI设置指南 ## 概述 本指南说明如何在Cocos Creator编辑器中配置波次显示和敌人数量显示的UI节点。 ## UI节点结构 ### 1. 波次显示节点 - **节点路径**: `Canvas/GameLevelUI/WaveInfo/WaveNumber` - **组件要求**: 必须包含 `Label` 组件 - **功能**: 显示当前波次数字 ### 2. 敌人数量显示节点 - **节点路径**: `Canvas/GameLevelUI/EnemyNode/EnemyNumber` - **组件要求**: 必须包含 `Label` 组件 - **功能**: 显示当前波次总敌人数量(不是剩余数量) ## 编辑器配置步骤 ### 步骤1: 创建波次显示UI 1. 在 `Canvas/GameLevelUI` 下创建节点 `WaveInfo` 2. 在 `WaveInfo` 下创建节点 `WaveNumber` 3. 为 `WaveNumber` 节点添加 `Label` 组件 4. 设置Label的文本内容为 "1"(默认第一波) 5. 调整字体大小、颜色等样式 ### 步骤2: 创建敌人数量显示UI 1. 在 `Canvas/GameLevelUI` 下创建节点 `EnemyNode` 2. 在 `EnemyNode` 下创建节点 `EnemyNumber` 3. 为 `EnemyNumber` 节点添加 `Label` 组件 4. 设置Label的文本内容为 "0"(默认无敌人) 5. 调整字体大小、颜色等样式 ### 步骤3: 配置GameManager 1. 选中 `Canvas/GameLevelUI/GameManager` 节点 2. 在Inspector面板中找到GameManager组件 3. 将 `WaveNumber` 节点拖拽到 `Wave Number Node` 属性 4. 将 `EnemyNumber` 节点拖拽到 `Enemy Number Node` 属性 ## 自动更新机制 ### 波次更新 - 游戏开始时自动设置为第1波 - 加载关卡配置时根据第一波的敌人数量更新显示 - 调用 `GameManager.setCurrentWave(wave, enemyCount)` 可手动更新 ### 敌人数量更新 - 波次开始时设置该波次的总敌人数量 - 数量显示在整个波次中保持不变 - 显示的是该波次需要击败的敌人总数,而不是当前剩余数量 ## 代码接口 ### GameManager公共方法 ```typescript // 设置当前波次和该波次总敌人数量 setCurrentWave(wave: number, enemyCount: number = 0): void // 更新当前波次实际敌人数量(内部使用,不影响UI显示) updateCurrentWaveEnemyCount(count: number): void // 获取当前波次 getCurrentWave(): number // 获取当前波次实际敌人数量(用于胜利检测) getCurrentWaveEnemyCount(): number // 获取当前波次总敌人数量(UI显示的数量) getCurrentWaveTotalEnemies(): number // 进入下一波 nextWave(): void ``` ### 关卡配置集成 系统会自动从关卡配置文件中读取波次信息: - 第一波的敌人总数会自动计算并显示 - 支持多波次配置的关卡系统 ## 样式建议 ### 波次显示样式 - 字体大小: 24-32px - 颜色: 白色或黄色 - 位置: 屏幕上方居中或左上角 - 可添加背景框或边框装饰 ### 敌人数量显示样式 - 字体大小: 20-28px - 颜色: 红色或橙色(表示威胁) - 位置: 屏幕右上角或与波次显示相邻 - 可添加敌人图标作为前缀 - 建议添加说明文字如 "敌人总数:" 或 "Enemies:" ## 调试和测试 ### 测试方法 1. 运行游戏场景 2. 观察波次显示是否正确(应显示"1") 3. 观察敌人数量显示是否正确(应显示该波次总敌人数) 4. 开始游戏后敌人数量显示应保持不变 5. 击杀敌人后敌人数量显示仍应保持不变(显示总数) ### 常见问题 1. **显示为空**: 检查Label组件是否正确添加 2. **不更新**: 检查GameManager中的节点引用是否正确设置 3. **数量为0**: 检查关卡配置是否正确设置了敌人数量 4. **数量在变化**: 确认代码中没有错误地调用updateCurrentWaveEnemyCount方法更新UI ## 扩展功能 ### 可选增强 1. 添加波次进度条 2. 添加敌人类型图标显示 3. 添加波次完成的动画效果 4. 添加下一波倒计时显示 ### 本地化支持 - 可以添加多语言支持 - 波次文本可配置为 "Wave 1", "第1波" 等 - 敌人数量可配置为 "Enemies: 5", "敌人: 5" 等