把敌人的自己的武器tag改成Weapon,玩家的武器范围(Radius)改成3.5。
在BattleManager的OnTriggerEnter里写上判断武器的代码:
if (col.tag == "Weapon")
{
am.DoDamage(); 对应下面的DoDamage被武器接触后执行的DoDamage函数。
;}
在ActorManager脚本下面新增一个函数:
public void DoDamage()
{
ac.IssueTrigger("hit"); 对应下面IssueTrigger,请求传递状态机被击打动画。
}
用来触发被击打动画。
在ActorManager脚本的Class下面再新增一个ActorController变量ac。
public ActorController ac;
在Awake里加上 ac = GetComponent<ActorController>();
在 ActorController脚本里新增一个IssueTrigger函数,用来传递对应触发器:
public void IssueTrigger(string triggerName)
{
anim.SetTrigger(triggerName); 传递状态机对应动作名。
}
选中状态机的ground,把hit动作信号放进FSM Clear Signals 做定期清除。
在OnHitEnter函数加上:
planarVec = Vector3.zero; 使被攻击后移动速度归0。
标签:ac,管理,208,状态机,黑魂,DoDamage,ActorController,IssueTrigger,public From: https://www.cnblogs.com/dontpanic1703/p/17569393.html