黑魂225 盾反互动

发布时间 2023-08-10 13:07:50作者: dontpanic1703

上一集我们通过 泛型类代码 将WeaponController绑定好在双手武器上。

这次我们需要通过检测模型是否接触到含有WeaponController脚本的物体作出反馈。

打开BattleManager脚本,在OnTriggerEnter里加上:

 然后在ActorManager脚本上也添加上同样的函数参数:

 然后打开StateManager脚本,在里面添加isCounterBack的布尔值变量。

接着在Update函数里添加:  isCounterBack = am.ac.CheckState("counterBack");

在ActorManager里的TryDoDamage函数,判断增加一个:假设StateManager(sm)检测到了盾反,那么就反馈一个对方破盾动画。

 下面也写一个Stunned的函数,触发破盾动画作为测试盾反互动的代码逻辑。

 为了测试,我将原先的isCounterBack设成默认为true。敌人WeaponController脚本绑定的物体只要接触到玩家就会出现破盾的效果。

 测试完我们把原先的isCounterBack代码恢复。

然后要把CounterBack动画设置好动画时间轴事件,在动画的event里选好时间点设置事件帧,盾反有效帧和盾反无效帧。

将StateManager脚本的isCounterBack默认设置为false。

isCounterBack的代码都注释掉。

在ActorManager里写上:

设置完我们在WeaponManager脚本底下新建盾反同名的方法函数。