//1、根据操作不同切换不同状态(声明状态
private PlayerState p = PlayerState.Idle;
void Start()
{
//获取动画的时间
shootTimer = an["Shoot"].length;
walkTimer = an["Walk"].length;
}
//2、播放动画
void PlayAnimation()
{
switch (p)
{
case PlayerState.Idle:
an.Play(meiju.playerIdle);
break;
case PlayerState.Walk:
an.Play(meiju.playerWalk);
ChangeState(PlayerState.Walk);
break;
case PlayerState.Shoot:
an.Play(meiju.playerShoot);
ChangeState(PlayerState.Shoot);
break;
default:
break;
}
}
//3、切换状态
void ChangeState(PlayerState ps)
{
switch (ps)
{
case PlayerState.Idle:
break;
case PlayerState.Walk:
walkTimer -= Time.deltaTime;
if (walkTimer <= 0)
{
p = PlayerState.Idle;
walkTimer = an["Walk"].length;
}
break;
case PlayerState.Shoot:
shootTimer -= Time.deltaTime;
if (shootTimer <= 0)
{
p = PlayerState.Idle;
shootTimer = an["Shoot"].length;
}
break;
default:
break;
}
}