feat(hero): 新增英雄按等级切换不同颜色描边的功能

新增紫色描边shader与对应材质资源,为英雄预制体注册四种颜色描边材质
重构FlashSprite组件支持按等级切换描边,在英雄初始化与升级时自动更新描边样式
This commit is contained in:
walkpan
2026-05-17 14:01:30 +08:00
parent 2d0620fb00
commit 8417e8699f
7 changed files with 300 additions and 8 deletions

View File

@@ -12,6 +12,7 @@ import { HeroAttrsComp } from "./HeroAttrsComp";
import { Tooltip } from "../skill/Tooltip";
import { timedCom } from "../skill/timedCom";
import { oneCom } from "../skill/oncend";
import { FlashSprite } from "./hit-flash-white/scripts/FlashSprite";
const { ccclass, property } = _decorator;
@@ -109,6 +110,12 @@ export class HeroViewComp extends CCComp {
// 🔥 重置血条 UI 显示状态
if (this.model) {
this.hp_show();
// 根据英雄模型中的等级数据设置描边
const flashSprite = this.node.getComponent(FlashSprite);
if (flashSprite) {
flashSprite.setOutlineByLevel(this.model.lv);
}
}
}
@@ -241,6 +248,14 @@ export class HeroViewComp extends CCComp {
/** 升级特效 */
private lv_up() {
this.spawnTimedFx("game/skill/buff/buff_lvup", this.node, 1.0);
// 升级时同步更新描边
if (this.model) {
const flashSprite = this.node.getComponent(FlashSprite);
if (flashSprite) {
flashSprite.setOutlineByLevel(this.model.lv);
}
}
}
/** 攻击力提升特效 */