版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
01.设置循环
private void Start()
{
//SetLoops() 设置循环
// 第一个参数 -1 无限循环 2循环2次数
// 第二个参数 LoopType Yoyo 悠悠球一样来回晃 Restart从刚开始位置反复运动 Incremental 增量运动
this.transform.DOMove(Vector3.one, 1f).SetLoops(3, LoopType.Incremental);
//把SetAutoKill自动销毁设置为false
this.transform.DOMove(Vector3.one, 1f).SetLoops(3, LoopType.Incremental).SetAutoKill(false);
}
2.如果将Tweener放到每次点击中,会不断创建Tweener去记录新的动画信息
3.DOPlay()方法是只播放一次,二次点击后没有效果
4.DOPlayForward()方法是播放多次,能够不停播放,注意结合以上两演示来进行使用
5.DOPlayBackwards()方法仅仅倒放最新记录的动画
6.SetAutoKill方法控制动画的自动销毁,如果不设置false每次都会自动销毁
private Tweener tweener;
private void Start()
{
//仅仅关联一次放Start里面,如果放在OnClick里面,会不断创建新的Tweener去记录动画信息,使得快速点击播放按钮导致无法进行
//Tweener对象保存这个动画的信息,每次调用DO类型的方法都会创建一个Tweener对象,这个对象是DOTween来管理
//把SetAutoKill自动销毁设置为false 下次播放会把这个动画缓存到Dotween中 可以直接调用
tweener = this.transform.DOMove(Vector3.one, 1f).SetLoops(3, LoopType.Incremental).SetAutoKill(false);
tweener.Pause(); //让动画在开始时暂停
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("播放");
tweener.PlayForward();
//或者transform.DOPlayBackwards();
}
if (Input.GetKeyDown(KeyCode.K))
{
Debug.Log("倒放");
tweener.PlayBackwards();
//或者transform.DOPlayForward();
}
}
02.From补间动画 反方向运动
//From(); 从目标点运动回来 从Vector3.one 运动到原来位置
this.transform.DOMove(Vector3.one, 1f).SetLoops(1, LoopType.Incremental).From();
//From(true) 增量运动 现在物体初始位置是Vector3.one加上目标Vector3.one 为(2,2,2)从目标点(2,2,2) 运动回来//Vector3.one
this.transform.DOMove(Vector3.one, 1f).From(true);