连招系统的内核就是,当玩家按下攻击键后,在一个较短的时间内,若接着按下攻击键,则进行下一连招动作,若这时间段内,为按下攻击键,则回到原始的待机状态,而想要达到这样的方法,只需要在animator中设置trigger变量作为触发动作状态转换的方法,在其中配置好连招中各个阶段的动作
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Combo : MonoBehaviour
{
//设置连招需要触发的trigger的数组
List<string> animlist = new List<string>(new string[] { "animation1", "animation2", "animation3", "animation4" });
public Animator animator;
public int combonum;//连招计数
public float reset;
public float resettime;//设置重置时间
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0)&& combonum < 4)
{
animator.SetTrigger(animlist[combonum]);
combonum++;
reset = 0f;
}
if(combonum>0)
{
reset += Time.deltaTime;
if(reset> resettime)//当超过时间间隔就回到初始状态
{
animator.SetTrigger("Reset");
combonum = 0;
}
}
if(combonum==4)//当到达最后一个动作的时候重置
{
resettime = 2f;
combonum = 0;
}
else
{
resettime = 2f;
}
}
}
该日志通过此博客进行学习:unity连招系统