天天看點

08.回調函數和控制方法,擷取資料

01.OnComplete

//動畫完成之後的回調OnComplete
        this.transform.DOMove(Vector3.one*2, 2f).OnComplete(() =>
        {
            Debug.Log("動畫完成");
        });      
08.回調函數和控制方法,擷取資料

02.其他常用的

//this.transform.DOMove(Vector3.one * 2, 2f).OnStart();
        //this.transform.DOMove(Vector3.one * 2, 2f).Pause();
        //this.transform.DOMove(Vector3.one * 2, 2f).OnPlay();
        //this.transform.DOMove(Vector3.one * 2, 2f).OnKill();
        // this.transform.DOMove(Vector3.one * 2, 2f).OnStepComplete();
        this.transform.DOMove(Vector3.one * 2, 2f).OnUpdate(() =>
        {
            Debug.Log(222);
        });

        //動畫重新調用的時候觸發
        //this.transform.DOMove(Vector3.one * 2, 2f).OnRewind(() =>
        //{
        //    Debug.Log("22");
        //});      
this.transform.DOMove(Vector3.one * 2, 2f);
        //transform.DOPause();
        //transform.DOPlay();
        //transform.DORestart(); //重播
        transform.DORewind(); //倒播
       // transform.DOFlip();//翻轉      

04.擷取資料

void Start()
    {

      this.transform.DOMove(Vector3.one * 2, 2f).SetId("ID").SetDelay(1);
        擷取所有暫停的動畫
        //var  list1= DOTween.PausedTweens();
        擷取所有播放的動畫
        //var listPlay = DOTween.PlayingTweens();
        查找ID下所有的動畫  //是否收集正在播放動畫
        //var  list2=DOTween.TweensById("ID");

        參數 調用動畫的對象 是否收集正在播放動畫
        //var  list3= DOTween.TweensByTarget(transform,true);

        //查找ID下的動畫  是否正在播放動畫
        var list4 = DOTween.IsTweening("ID");

        //所有正在播放動畫
        var list5 = DOTween.TotalPlayingTweens();
     
    }      

05.擷取及修改動畫的執行時間

//fullPosition 動畫的執行時間
         tweener = this.transform.DOMove(Vector3.one * 2, 2f).SetAutoKill(false);
        tweener.SetDelay(1f);
        Debug.Log(tweener.fullPosition);
       //動畫執行完的次數
        count = tweener.CompletedLoops();      

06.擷取時間資料

//動畫的延遲時間
 time =tweener.Delay();
//擷取動畫的持續時間  參數 是否包括循環時間
 tweener.Duration();
//目前已經播放的時間 參數 是否包括循環時間
 tweener.Elapsed();
  //進度的百分比傳回動畫進度的百分比
//起始點為0 目标點為1 當yoyo循環模式下,值會從0變到1再從1變到0
 rotate = tweener.ElapsedDirectionalPercentage();
 //傳回動畫區間已用的百分比
 //單次循環的數值為0到1
 //參數為 是否包含循環 為true時 傳回值是循環總區間的已用百分比 若為無限循環 傳回值為0
  tweener.ElapsedPercentage();      

動畫是否在活動

tweener.IsActive();

是否是反向動畫

_tweener.IsBackwards();

動畫是否完成

_tweener.IsComplete();

是否以初始化

_tweener.IsInitialized();