新学的还热乎,记录一下。
核心代码:
Animator animator;
private string currentState;
void Start()
{
animator= GetComponent<Animator>();
}
void ChangeAnimationState(string newState)
{
//stop the same animation from interrupting itself
if(currentState == newState) return;
//play the animation
animator.Play(newState);
//reassign the current state
currentState = newState;
}
//--------------------------------------------------------------------------
如果需要当前动画播完再执行某方法:
attackDelay = animator.GetCurrentAnimatorStateInfo(0).length;
Invoke("AttackComplete",attackDelay);
AttackComplete方法中写动画播放完需要执行的内容。