状态机
连线的设置
攻击之间
回Idle
去attack
private void IsAttack()
{
//判断是否攻击,攻击就使连击数加1,攻击状态设为true
if (Input.GetButtonDown("attack"))
{
attackCombo += 1;
animator.SetInteger("attackCombo", attackCombo);
animator.SetBool("isAttack", true);
}
}
private void AttackOver()
{
//判断攻击是否结束,结束时连击数设为0,攻击状态设为false
if ((stateInfo.IsName("jumpAttack") || stateInfo.IsName("attack1") || stateInfo.IsName("attack2") || stateInfo.IsName("attack3")) && stateInfo.normalizedTime > 0.9f)
{
attackCombo = 0;
animator.SetInteger("attackCombo", attackCombo);
animator.SetBool("isAttack", false);
}
}
参考:https://www.cnblogs.com/undefined000/p/unity2D-combo-attack.html