You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
方案:怪物脚下阴影
目标
Spine 阴影已从召唤物预制体剔除。战斗中在 ui_mapParentNode 独立层挂阴影,保证:
- 阴影始终在地图之上、所有怪物之下(不盖住别的怪)
- 基地波次出怪用普通阴影;营 / 杨戬等额外召唤用发光阴影
- 阴影大小按怪物皮肤预制体名配置
层级
mapLayer* → shadowLayer → monsterLayer → scoreLayer
shadowLayer 由 CocosBattleMonsterPresenter.bind 创建并插到 monsterLayer 正下方。
普通 / 发光
| 来源 | UnitMetaComp.glowShadow |
预制体 |
|---|---|---|
基地出怪口波次(WaveSpawner 正常出怪) |
false |
prefab/monster/阴影 |
spawnExtraEnemy / spawnExtraEnemyAtCell(营、万神幡、技能营地召唤等) |
true |
prefab/monster/发光阴影 |
Skill 自身周围召唤(SkillTableSummonExecutor) |
true |
prefab/monster/发光阴影 |
缩放
表:CocosBattleMonsterPresenter 内 MONSTER_SHADOW_SCALE(键 = 皮肤预制体名)。
- 示例:
兵 = 0.5,龟丞相 = 1 - 未配置:
console.warn后用1(以龟丞相为基准),需补表
不挂阴影
MONSTER_SHADOW_SKIP:当前含 黑无常(特殊表现,不加脚下阴影预制体)。
生命周期
- 生成:与怪一并
getNode挂到shadowLayer,缩放后跟脚底 - 每 tick:
CocosBattleMovementBridge→syncAllMonsterShadows(位置 / active / opacity) - 回收:随怪
putNode;挑飞隐藏时阴影一并透明
调参
改阴影大小:编辑 MONSTER_SHADOW_SCALE。
改阴影相对脚底高度:编辑 MONSTER_SHADOW_OFFSET_Y(像素,往上为正)。
改发光规则:改写入 glowShadow 的召唤入口,勿在表现层猜来源。