文章目錄
- 需求
- 下載安裝 DOTween
- 實現
- 實現效果
需求
用組件進度條(Slider),利用分段加載進行以假亂真的進度效果,比如說2秒鐘到達20%的進度,10秒鐘加載20%到50%進度,1分鐘加載50%到90%的進度,30秒鐘加載90%到100%的進度。在加載過程中,如果加載完成了,則直接把進度條拉到100%。
貼上 DOTween官方網站 以供學習,但是感覺實例講得不是很清楚,利用 Sequence 自己操作了一下終于實現了,貼上來給大家參考。
可以看到官方對于Slider的動畫只有一個函數 DOValue(to, duration, snapping)
:
to是要到達的值,duration是到達這個值所用的時間
下載安裝 DOTween
在asset store中添加免費版的 dotween 到 My Asset后,download 并 import
彈出配置面板。如果關閉,也可以在“Tools / Demigiant”菜單中打開DOTween 工具面板,然后從出現的面板中選擇“Setup DOTween …”完成初始化配置
實現
綁定腳本,Slider設置:
實現代碼如下:
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;public class LoadingBar : MonoBehaviour
{public Slider loadingSlider;private Sequence seq;void Start(){loadingSlider.value = 0;seq = DOTween.Sequence();seq.Append(loadingSlider.DOValue(0.2f, 2f).SetEase(Ease.Linear));seq.Append(loadingSlider.DOValue(0.5f, 10f).SetEase(Ease.Linear));seq.Append(loadingSlider.DOValue(0.9f, 60f).SetEase(Ease.OutCubic));seq.Append(loadingSlider.DOValue(1f, 30f).SetEase(Ease.Linear));}void Update(){if (Input.GetKey(KeyCode.E)){LoadingComplete();}}private void LoadingComplete(){seq.Complete();}
}
實現效果
讓它自動加載完:
按下E鍵提前結束加載: