01.创建动画队列
//方式1
Sequence sequence=DOTween.Sequence();
//方式2
DOTween.Sequence().Append()
02.使用
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 2f)); //x先移动到5
sequence.AppendInterval(1f); //暂停1秒
sequence.Append(transform.DOMoveY(5, 2f));//y移动到5
03.插入动画
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 2f)); //0-2秒 x先移动到5
sequence.AppendInterval(1f); //2-3秒 暂停1秒
sequence.Append(transform.DOMoveY(5, 2f));// 3-5秒 y移动到5
//插入动画 参数 01 插入的时间点,覆盖队列之前0-2秒的时间 02 动画
sequence.Insert(0, transform.DOMoveX(-2, 2f));
sequence.Insert()还可以插入到 动画队列时间点以外的
//七秒之后做动画
sequence.Insert(7, transform.DOMoveX(-2, 1f));
04.加入方法
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 2f)); //0-2秒 x先移动到5
sequence.Join(transform.DOScale(Vector3.one * 2, 2f)); //加入到上一个动画同时运行
sequence.AppendInterval(1f); //2-3秒 暂停1秒
sequence.Append(transform.DOMoveY(5, 2f));// 4-6秒 y移动到5
sequence.Join(transform.DOScale(Vector3.one , 2f)); //加入到上一个动画同时运行
//或者插入动画
//sequence.Insert(0, transform.DOScale(Vector3.one*2, 2f));
//sequence.Insert(3, transform.DOScale(Vector3.one , 2f));
05.预添加方法
后添加的会先执行
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 2f)); //0-2秒 x先移动到5
sequence.Join(transform.DOScale(Vector3.one * 2, 2f)); //加入到上一个动画
sequence.AppendInterval(1f); //2-3秒 暂停1秒
sequence.Append(transform.DOMoveY(5, 2f));// 4-6秒 y移动到5
sequence.Join(transform.DOScale(Vector3.one , 2f)); //加入到上一个动画
//预添加最先执行先改变z轴 后暂停1秒
sequence.PrependInterval(1f);
sequence.Prepend(transform.DOMoveZ(1, 1f));
06.回调函数
void Start()
{
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 2f)); //0-2秒 x先移动到5
sequence.AppendCallback(AppendCallback);// 2秒动画完成回调
sequence.AppendInterval(1f); //2-3秒 暂停1秒
sequence.Append(transform.DOMoveY(5, 2f));// 4-6秒 y移动到5
sequence.AppendCallback(AppendCallback2);// 5秒动画完成回调
sequence.InsertCallback(6,InsertCallback);
}
private void AppendCallback()
{
Debug.Log("2秒动画完成");
}
private void AppendCallback2()
{
Debug.Log("5秒动画完成");
}
private void InsertCallback()
{
Debug.Log("6秒动画完成");
}