WaveUISetupGuide.md 3.9 KB

波次和敌人数量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公共方法

// 设置当前波次和该波次总敌人数量
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" 等