# 敌人配置表说明文档 ## 概述 本文档说明了基于 `enemies.json` 文件生成的敌人配置Excel表格的结构和内容。该表格包含了游戏中所有敌人的详细配置信息,分为9个工作表进行组织。 ## 文件信息 **文件位置**: `d:/CocosGame/Pong/assets/resources/data/excel/敌人配置表.xlsx` **数据源**: `d:/CocosGame/Pong/assets/resources/data/enemies.json` **动画资源**: `d:/CocosGame/Pong/assets/resources/Animation/EnemyAni/` ## 工作表详细说明 ### 1. 敌人基础配置 包含所有敌人的基础属性信息: - **敌人ID**: 唯一标识符 - **敌人名称**: 显示名称 - **敌人类型**: 敌人分类(basic, armored, wanderer, ranged_caster, etc.) - **稀有度**: 稀有程度(common, uncommon, rare, boss) - **权重**: 生成权重值 - **生命值**: 生命点数 - **移动速度**: 移动速度 - **攻击力**: 攻击伤害 - **攻击范围**: 攻击距离 - **攻击速度**: 攻击频率 - **防御力**: 防御数值 - **金币奖励**: 击杀奖励 ### 2. 战斗配置 包含敌人的战斗相关配置: - **敌人ID/名称**: 对应的敌人信息 - **攻击类型**: 攻击方式(melee, magic_projectile, arrow_projectile, etc.) - **攻击延迟**: 攻击前摇时间 - **攻击冷却**: 攻击间隔时间 - **可格挡**: 是否可以格挡攻击 - **格挡几率**: 格挡成功率 - **武器类型**: 武器种类(可选) - **投射物类型**: 投射物类型(可选) - **投射物速度**: 投射物飞行速度(可选) ### 3. 移动配置 包含敌人的移动行为配置: - **敌人ID/名称**: 对应的敌人信息 - **移动类型**: 移动方式(straight, sway) - **移动模式**: 移动轨迹(walk_forward, zigzag_forward) - **速度变化**: 速度随机变化范围 - **摆动幅度**: 左右摆动范围(可选) - **摆动频率**: 摆动周期频率(可选) ### 4. 视觉配置 包含敌人的视觉表现配置: - **敌人ID/名称**: 对应的敌人信息 - **精灵预制体**: Spine动画资源路径(如:@EnemyAni/001/001) - **缩放比例**: 显示缩放倍数 - **水平翻转**: 是否水平镜像 - **待机动画**: 待机状态动画名称 - **行走动画**: 移动状态动画名称 - **攻击动画**: 攻击状态动画名称 - **死亡动画**: 死亡状态动画名称 - **武器道具**: 武器道具路径(可选) - **护甲道具**: 护甲道具路径(可选) - **特殊道具**: 特殊道具路径(可选) ### 5. 音频配置 包含敌人的音效配置: - **敌人ID/名称**: 对应的敌人信息 - **行走音效**: 移动时播放的音效 - **攻击音效**: 攻击时播放的音效 - **死亡音效**: 死亡时播放的音效 - **受伤音效**: 受伤时播放的音效(可选) - **格挡音效**: 格挡时播放的音效(可选) - **隐身音效**: 隐身时播放的音效(可选) - **护甲破碎音效**: 护甲破碎时播放的音效(可选) - **引信音效**: 引信燃烧时播放的音效(可选) - **召唤音效**: 召唤时播放的音效(可选) - **激光音效**: 激光发射时播放的音效(可选) ### 6. 特殊能力配置 包含敌人的特殊技能配置: - **敌人ID/名称**: 对应的敌人信息 - **特殊能力**: 特殊技能名称(如:invisibility, armor_break, ranged_attack等) ### 7. BOSS配置 包含BOSS敌人的特殊配置: - **敌人ID/名称**: 对应的BOSS信息 - **阶段数**: 战斗阶段总数 - **阶段血量阈值**: 进入下一阶段的血量比例 - **狂暴速度加成**: 狂暴状态下的速度倍数(可选) - **狂暴伤害加成**: 狂暴状态下的伤害倍数(可选) - **狂暴攻速加成**: 狂暴状态下的攻击速度倍数(可选) - **召唤单位类型**: 召唤的单位类型(可选) - **召唤数量**: 单次召唤的数量(可选) - **召唤冷却**: 召唤技能的冷却时间(可选) - **激光伤害**: 激光攻击的伤害值(可选) - **激光射程**: 激光攻击的射程(可选) - **激光充能时间**: 激光充能准备时间(可选) - **激光冷却时间**: 激光技能冷却时间(可选) ### 8. 生成权重配置 包含不同稀有度敌人的生成权重: - **稀有度**: 稀有度等级(common, uncommon, rare, boss) - **生成权重**: 随机生成时的权重值 ### 9. 波次进度配置 包含不同游戏阶段的敌人配置: - **波次类型**: 游戏阶段类型(earlyWaves, midWaves, lateWaves, bossWaves) - **敌人ID**: 该阶段出现的敌人ID ## 动画资源说明 敌人的视觉表现通过Spine动画系统实现: - **资源路径**: `@EnemyAni/001/001` 格式指向 `resources/Animation/EnemyAni/001/` 目录 - **文件结构**: 每个敌人动画包含 `.json`、`.atlas`、`.png` 文件 - **动画状态**: idle(待机)、walk(行走)、attack(攻击)、dead(死亡)等 ## 使用建议 1. **策划调整**: 可直接在Excel中修改数值,然后导回JSON格式 2. **平衡性测试**: 通过调整生命值、攻击力、速度等属性进行游戏平衡 3. **新敌人添加**: 参考现有敌人的配置结构添加新的敌人类型 4. **动画资源**: 确保 `spritePrefab` 路径对应的动画资源文件存在 ## 技术说明 - **生成工具**: 使用Python脚本 `create_enemies_excel.py` 自动生成 - **依赖库**: pandas、openpyxl - **中文注释**: 每个工作表的第二行包含字段的中文说明 - **数据完整性**: 保持与源JSON文件的数据一致性 ## 更新流程 1. 修改 `enemies.json` 文件 2. 运行 `python create_enemies_excel.py` 重新生成Excel表格 3. 检查生成的表格内容是否正确 4. 根据需要调整脚本或JSON配置