DOTween中的Time.Scale


因為在做游戲暫停的時候通常會使用Time.Scale = 0 ,可是暫停的時候UI如果需要繼續有動畫怎么辦呢?在DoTween中只需要設置         tweener.SetUpdate(true); 即可。意思就是這個Tween是忽略TimeScale,如果不寫的話 tweener.SetUpdate 是 false。

命名空間: using DG.Tweening;

 1 void Start () 
 2     {
 3         //讓TimeScale = 0
 4         Time.timeScale = 0;
 5  
 6         Image image = transform.Find("Image").GetComponent<Image>();
 7         //調用DOmove方法來讓圖片移動
 8         Tweener tweener = image.rectTransform.DOMove(Vector3.zero,1f);
 9         //設置這個Tween不受Time.scale影響
10         tweener.SetUpdate(true);
11         //設置移動類型
12         tweener.SetEase(Ease.Linear);
13         tweener.onComplete = delegate() {
14             Debug.Log("移動完畢事件");
15         };
16         image.material.DOFade(0,1f).onComplete = delegate() {
17             Debug.Log("褪色完畢事件");
18         };
19     }

Tween的移動類型有很多種,比如勻速運動、加速運動、減速運動,等等。

代碼中我們設置了圖片的移動 和 褪色,因為移動的Tween設置了忽略Time.Scale,所以代碼中Time.Scale =0時,圖片的Tween響應了位移操作,然后褪色的Tween卻沒有。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM