队列的方法很好解决多个dotween方法调用的先后顺序,防止覆盖,就如同第一篇讲到的。
Sequence q = DOTween.Sequence();
q.Append(transform.DOMove(new Vector3(0, 1f, 0), 2));
q.AppendInterval(1);
q.Append(transform.DOMove(new Vector3(0, 2f, 0), 2));
如同上面,物体先向(0,1,0)目标运动,然后停止一秒,再向(0,2,0)目标运动。
队列的插入
如果又想在最后对前面的方法修改,就可以使用插入。
Sequence q = DOTween.Sequence();
q.Append(transform.DOMove(new Vector3(0, 1f, 0), 2));
q.AppendInterval(1);
q.Append(transform.DOMove(new Vector3(0, 2f, 0), 2));
q.Insert(0, transform.DOMove (new Vector3(0, -1f, 0), 2));
最后的结果:物体一开始会向(0,-1,0)目标运动,然后停止一秒,再向(0,2,0)目标运动。
Insert方法:第一个参数为插入的时间,第二个为方法。
队列的添加
Sequence q = DOTween.Sequence();
q.Append(transform.DOMove(new Vector3(0, 1f, 0), 2));
q.Join(transform.DOScale (new Vector3(2, 1f, 2), 2));
q.AppendInterval(1);
q.Append(transform.DOMove(new Vector3(0, 2f, 0), 2));
最后的结果:物体一开始会向(0,-1,0)目标运动且进行缩放,然后停止一秒,再向(0,2,0)目标运动。
Join添加后的方法与前面要不一致,否则会覆盖。
队列的回调函数
Sequence q = DOTween.Sequence();
q.Append(transform.DOMove(new Vector3(0, 1f, 0), 2));
q.AppendCallback(appendcallback);
q.AppendInterval(1);
q.Append(transform.DOMove(new Vector3(0, 2f, 0), 2));
private void appendcallback()
{
}