天天看點

DoTween插件

DoTween的運動方式

DoTween插件

1、​​DOTween.To​​()方法

對變量做一個動畫,通過插值的方式修改一個值的變化

//public static Tweener To(DOGetter<ulong> getter, DOSetter<ulong> setter, ulong endValue, float duration);
        // 參數:
        //   getter:
        //     A getter for the field or property to tween.
        //     Example usage with lambda:
        //     ()=> myProperty
        //
        //   setter:
        //     A setter for the field or property to tween
        //     Example usage with lambda:
        //     x=> myProperty = x
        //
        //   endValue:
        //     The end value to reach
        //
        //   duration:
        //     The tween's duration
   postion=Vector3.zero;
   DOTween.To(()=>postion, x => postion = x, new Vector3(10, 10, 10), 5f);
 //()=>postion 傳回要改變的那個值  
 //x => postion = x 将x d 的值指派給postion
 // new Vector3(10, 10, 10) 最終要到達的值
 //5f 運作時間      

2:用按鈕來控制台的移動,實作點選一次從螢幕外面進來,再點選一次讓他出去

public RectTransform mage; //要移動的物體
    private Tweener tweener; //儲存動畫
    public Button Button;//按鈕
    private bool isin = false; //判斷是否需要向前動畫播放
    void Start ()
    {       
        tweener =mage.DOLocalMoveX(0, 2.0f);
        tweener.SetAutoKill(false);//動畫播放後不讓它自動銷毀
        tweener.Pause();//第一次暫停動畫
        Button.onClick.AddListener(delegate()
        {
            if (isin==false)
            {
                tweener.PlayForward();
                isin = true;
            }
            else
            {
                tweener.PlayBackwards();
                isin = false;
            }
        });
    }      
通過tweener去設定SetEase屬性
      weener tweener = transform.DOLocalMoveX (0, 5);
      // 1.動畫曲線
        tweener.SetEase (Ease.OutBounce); 
        // inBack 先後退一點再進來
        // InBounce 一進一出一進一出
        // OutBounce 一進後退一進後退

        // 循環次數
        // tweener.SetLoops(0); // 隻會執行1次
      // 2.動畫結束事件
        tweener.OnComplete (onTweenComplete);      
string s = "222222222222222";
      text.GetComponent<Text>().DOText(s,3);