这边我就直接放一个标准的Dotween动画的使用demo吧。
这个案例满足应该可以完成你所想实现的几乎所有复杂动画。
voidPlayTween()
{//set tween data
float testOneTime = 1.0f;float testTwoTime = 1.0f;float delayTime = 1.0f;
Vector3 firstTargetPos=Vector3.one;
Vector3 secondTargetPos=Vector3.forward;
TweenCallback completeCallBack=DoEndThing;
TweenCallback oneCallBack=DoOneThing;//play
Sequence se =DOTween.Sequence();
se.Append(mThing.transform.DOMove(Vector3.zero, testOneTime).SetEase(Ease.InOutBounce));//增加一段动画
se.Append(mThing.transform.DOMove(Vector3.one, testTwoTime));
se.Join(mThing.transform.DOMove(Vector3.forward, testOneTime));//插入一段动画
se.AppendInterval(delayTime);//等待一段时间
se.AppendCallback(oneCallBack);//执行回调 I
se.Append(mThing.transform.DOMove(Vector3.one, testTwoTime));//再增加一段动画//II :se.AppendCallback(()=> Debug.Log("this