记录下,直接上代码
主要俩个api
animator.GetCurrentAnimatorStateInfo(0).IsName("name");
animator.GetCurrentAnimatorStateInfo(0).normalizedTime<1.0f
需要注意的是 动画如果直接判断是否是当前动画,会出现false的情况,因此需要进行携程进行判断一下
/// <summary>
/// 播放动画
/// </summary>
public void PlayAnimator()
{
animator.Play("clear");
StartCoroutine(enumerator());
}
IEnumerator enumerator()
{
yield return new WaitForSeconds(0.3f);
if (animator.GetCurrentAnimatorStateInfo(0).IsName("clear"))
{
Debug.Log("播放clear");
while (animator.GetCurrentAnimatorStateInfo(0).normalizedTime<1.0f)
{
yield return null;
}
Debug.Log("播放完毕");
animator.Play("temp");
animator.Update(0);
}
}