feat(英雄): 优化英雄移动和碰撞逻辑
fix由于 setScale 会影响物理判断,造成玩家角色多次被攻击触发回调 - 添加英雄移动方向缓存避免频繁转向 - 优化英雄碰撞器初始状态管理 - 修复英雄后退动画重复触发问题 - 调整部分英雄prefab的碰撞组和传感器设置
This commit is contained in:
@@ -311,12 +311,24 @@ export class HeroViewComp extends CCComp {
|
||||
this.back()
|
||||
this.showDamage(damage, isCrit, SConf.DAnm); // 暴击状态由战斗系统内部处理, DAnm和EAnm共用设定数组
|
||||
}
|
||||
|
||||
private isBackingUp: boolean = false; // 🔥 添加后退状态标记
|
||||
|
||||
//后退
|
||||
back(){
|
||||
// 🔥 防止重复调用后退动画
|
||||
if (this.isBackingUp) return;
|
||||
|
||||
if(this.model.fac==FacSet.MON) {
|
||||
this.isBackingUp = true; // 🔥 设置后退状态
|
||||
let tx=this.node.position.x+30
|
||||
if(tx > 320) tx=320
|
||||
tween(this.node).to(0.1, { position:v3(tx,this.node.position.y,0)}).start()
|
||||
tween(this.node)
|
||||
.to(0.1, { position:v3(tx,this.node.position.y,0)})
|
||||
.call(() => {
|
||||
this.isBackingUp = false; // 🔥 动画完成后重置状态
|
||||
})
|
||||
.start()
|
||||
}
|
||||
//英雄不再后退
|
||||
// if(this.model.fac==FacSet.HERO) {
|
||||
|
||||
Reference in New Issue
Block a user