黑魂 208 角色管理与战斗管理的链接

发布时间 2023-07-20 19:41:05作者: dontpanic1703

把敌人的自己的武器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。