Unity_DOTween动画的学习(五)_Tweener的使用和注意事项_DOPlay播一次_DOPlayForward播多次_DOPlayBackwards倒放_SetAutoKill动画的自动销

来源:互联网 发布:淘宝手表店推荐 编辑:程序博客网 时间:2024/05/22 04:36

Unity_DOTween动画的学习(五)_Tweener的使用和注意事项_DOPlay播一次_DOPlayForward播多次_DOPlayBackwards倒放_SetAutoKill动画的自动销毁<4/10/2017>

1.多次播放的正确使用方式:

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using DG.Tweening;public class Getstart : MonoBehaviour{    public RectTransform rectTarget;    public bool isIn = false;    private void Start()    {        //rectTarget.DOLocalMove(new Vector3(0, 0, 0), 0.3f);//默认动画完成会被销毁,所以无法在完成后进行倒放        //****仅仅关联一次放Start里面,如果放在OnClick里面,会不断创建新的Tweener去记录动画信息,使得快速点击播放按钮导致无法进行****//        //Tweener对象保存这个动画的信息,每次调用DO类型的方法都会创建一个Tweener对象,这个对象是DOTween来管理        Tweener tweener = rectTarget.DOLocalMove(new Vector3(0, 0, 0), 0.3f);        tweener.SetAutoKill(false);//把动画的自动销毁设置为false        tweener.Pause();    }    public void OnClick()    {        if (isIn == false)        {            //rectTarget.DOPlay();//DOPlay仅仅播放一次            rectTarget.DOPlayForward();            isIn = true;        }        else        {            rectTarget.DOPlayBackwards();//动画的倒放            isIn = false;        }    }}
(只有Tweener tweener执行的时候才会增数)

2.如果将Tweener放到每次点击中,会不断创建Tweener去记录新的动画信息,然后会出现如下诡异的效果:

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using DG.Tweening;public class GetStart1 : MonoBehaviour{    public RectTransform rectTarget;    public bool isIn = false;    public void OnClick()    {        if (isIn == false)        {            //****若放在OnClick里面,会不断创建新的Tweener去记录动画信息,此时快速点击播放按钮出现诡异效果****//            //Tweener对象保存这个动画的信息,每次调用DO类型的方法都会创建一个Tweener对象,这个对象是DOTween来管理            Tweener tweener = rectTarget.DOLocalMove(new Vector3(0, 0, 0), 0.3f);            tweener.SetAutoKill(false);//把动画的自动销毁设置为false            isIn = true;        }        else        {            rectTarget.DOPlayBackwards();//动画的倒放            isIn = false;        }    }}

3.DOPlay()方法是只播放一次,二次点击后没有效果
4.DOPlayForward()方法是播放多次,能够不停播放,注意结合以上两演示来进行使用

5.DOPlayBackwards()方法仅仅倒放最新记录的动画

6.SetAutoKill方法控制动画的自动销毁,如果不设置false每次都会自动销毁

阅读全文
1 0
原创粉丝点击