Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili
PlayerPrimaryAttack.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerPrimaryAttack : PlayerState
{//p38 2.从ground进入private int comboCounter;private float lastTimeAttacked;//距离上一次攻击的时间private float comboWindow = 2;//可以间隔的时间public PlayerPrimaryAttack(Player _player, PlayerStateMachine _stateMachine, string _animBoolName) : base(_player, _stateMachine, _animBoolName){}public override void Enter(){base.Enter();if(comboCounter >2||Time.time>comboWindow+lastTimeAttacked)//当计数器超过2和间隔时间大于window时,进入第一个攻击动作{comboCounter = 0;}Debug.Log(comboCounter);player.anim.SetInteger("ComboCounter", comboCounter);//设置animtor里的comboCounter}public override void Exit(){base.Exit();comboCounter++;lastTimeAttacked = Time.time;}public override void Update(){base.Update();if(triggerCalled){stateMachine.ChangeState(player.idleState);}}
}