假设有以上的状态,咱们不动的时候需要播放发呆的动画,然后任意时刻会进行Run的行动。于是有了以上的状态机。
为了完成目标追踪,比如跟随咱们的光标,这时候就需要将如以下代码:
ani = gameObject.GetComponent<Animator>();
void Update () {
if(transform.position != pivot.transform.position && !run)
{
MoveToPivot();
}
}
void MoveToPivot()
{
run = true;
ani.SetBool("RunController", true);
transform.DOMove(pivot.transform.position, 3.0f).SetEase(Ease.Linear).OnComplete(() => {
ani.SetBool("RunController", false);
run = false;
});
}
update里边用于判断当前是否为位置发生了相对的改变,并且没有在Run的状态。YES则进入Run的状态,使用DOMove动画,以匀速运动的方式,当完成移动使重新设置状态。