fix(hero): 修复英雄大招动画播放异常问题
1. 重构大招播放方法,支持传入自定义动画clip名,适配不同职业的大招动画 2. 修复技能匹配逻辑,通过前缀匹配处理max0/max1类型的大招技能 3. 更新技能配置表,将辅助职业的技能act改为max1适配新逻辑
This commit is contained in:
@@ -80,9 +80,15 @@ export default class HeroAnmComp extends Component {
|
||||
if (this.maxPlaying) return
|
||||
this.anmcon.play(`atk0`)
|
||||
}
|
||||
max() {
|
||||
/**
|
||||
* 播放大招动画。
|
||||
* Why 带 name:技能表 act 直接配置 clip 名(战士技 "max0"、法系技 "max1"),
|
||||
* 固定播 max0 会导致法系大招动画永远播不出。
|
||||
* @param name 大招 clip 名("max0"/"max1"),maxPlaying guard 已同时覆盖两者
|
||||
*/
|
||||
max(name: string = "max0") {
|
||||
if (this.maxPlaying) return
|
||||
this.anmcon.play("max0")
|
||||
this.anmcon.play(name)
|
||||
}
|
||||
play(anm: string = "") {
|
||||
if (anm === "") return
|
||||
|
||||
@@ -48,14 +48,16 @@ export class HeroSpine extends Component {
|
||||
atk() {
|
||||
this.anm.atk()
|
||||
}
|
||||
max(){
|
||||
this.anm.max()
|
||||
max(name: string = "max0"){
|
||||
this.anm.max(name)
|
||||
}
|
||||
play(name:string){
|
||||
// 技能表 act 配置的是 clip 名(max0/max1),不能用全等匹配 "max"
|
||||
if(name.startsWith("max")){
|
||||
this.max(name)
|
||||
return
|
||||
}
|
||||
switch(name){
|
||||
case "max":
|
||||
this.max()
|
||||
break
|
||||
case "atk":
|
||||
this.atk()
|
||||
break
|
||||
@@ -65,7 +67,7 @@ export class HeroSpine extends Component {
|
||||
case "move":
|
||||
this.move()
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
do_atked(){
|
||||
this.anm.atked()
|
||||
|
||||
@@ -487,11 +487,14 @@ export class HeroViewComp extends CCComp {
|
||||
playSkillAnm(act: string = "") {
|
||||
mLogger.log(this.debugMode, 'HeroViewComp', '[heroview] act' + act,)
|
||||
if (act === "") return;
|
||||
// 技能表大招 act 配置为 clip 名("max0"/"max1"),必须前缀匹配,
|
||||
// 全等匹配 "max" 会落空导致大招动画不播、isCastingMax 不置位
|
||||
if (act.startsWith("max")) {
|
||||
this.isCastingMax = true;
|
||||
this.as.max(act)
|
||||
return
|
||||
}
|
||||
switch (act) {
|
||||
case "max":
|
||||
this.isCastingMax = true;
|
||||
this.as.max()
|
||||
break
|
||||
case "atk":
|
||||
this.as.atk()
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user