框架視圖
效果圖及關(guān)鍵代碼
01-GetStart
using UnityEngine;
using System.Collections;
using DG.Tweening;
public class GetStrart : MonoBehaviour {
//定義一個(gè)了公開的位置變量
public Vector3 myValue = new Vector3(0,0,0);
//定義一個(gè)公開的持有的引用
//public Transform cubeTransform;
//把任務(wù)欄的圖片還原回來
public RectTransform taskPanelTransform;
void Start () {
//對變量進(jìn)行一個(gè)動畫(通過lambda表達(dá)式方式去修改一個(gè)值的變化浦徊,差值運(yùn)算)
//系統(tǒng)自帶的靜態(tài)方法;
// DOTween.To(()=>myValue, x=>myValue=x, new Vector3(10,10,10), 2);//參數(shù)1:當(dāng)前的值 參數(shù)2:定義變化后的值 參數(shù)3:最終變化后的值 參數(shù)4:變化的時(shí)間
//還原動畫
DOTween.To(()=>myValue,x=>myValue=x,new Vector3(0,0,0),2);
}
void Update () {
//每一幀的位置的值都等于myValue的值气破;
// cubeTransform.position = myValue;
//逐漸返回原來位置
// taskPanelTransform.position = myValue;//這是世界坐標(biāo)
//本地坐標(biāo)
taskPanelTransform.localPosition = myValue;
}
}
02-ShortCutsWay
using UnityEngine;
using System.Collections;
using DG.Tweening;//引用動畫命名空間
public class MyButton : MonoBehaviour {
//聲明一個(gè)公開的持有的引用
public RectTransform panelTransform;
//定義一個(gè)開關(guān) 用來判斷進(jìn)出
private bool isIn=false;
void Start() {
Tweener tweener = panelTransform.DOLocalMove(new Vector3(0,0,0),0.5f);
tweener.SetAutoKill(false);
//一開始不用播放圃庭,先暫停禁舷;
tweener.Pause();
}
public void OnClick() {
//移動時(shí)間
// panelTransform.DOMove(new Vector3(0,0,0),2);//參數(shù)1:目標(biāo)位置 參數(shù)2:2秒時(shí)間违霞;(修改的是世界坐標(biāo))
// panelTransform.DOLocalMove(new Vector3(0,0,0),0.5f);//本地坐標(biāo)
if (isIn==false)
{
//Tweener tweener= panelTransform.DOLocalMove(new Vector3(0,0,0),0.5f);//動畫播放完畢自動銷毀 要實(shí)行倒放之前先不能銷毀動畫
//Tweener對象是用來保存這個(gè)動畫信息的亩码,每次調(diào)用Do都會創(chuàng)建一個(gè)tweener對象震蒋,這個(gè)對象是用Dotween來管理的;
//tweener.SetAutoKill(false);//把這個(gè)屬性設(shè)置為false后就不能自動銷毀躲庄;
//這樣會使動畫每次都創(chuàng)建實(shí)例查剖,消耗大量性能 所以把上述方法放在start方法中;
//實(shí)行動畫前放噪窘;
panelTransform.DOPlayForward();//動畫前放
isIn = true;
}
else
{
panelTransform.DOPlayBackwards();//動畫倒放笋庄;
isIn = false;
}
}
}
03-FormTween
using UnityEngine;
using System.Collections;
using DG.Tweening;//插入命名動畫空間
public class MyCube : MonoBehaviour {
void Start () {
//將cube進(jìn)行X軸移動
//gameObject.transform.DOMoveX(5,1);//參數(shù)1:目標(biāo)位置 參數(shù)2:動畫時(shí)間
//from 動畫 表示行方向
// transform.DOMoveX(5,1).From();//表示從目標(biāo)位置移回來當(dāng)前位置;上面的意思是TO倔监,這個(gè)意思是from直砂;
transform.DOMoveX(5, 1).From(true);//表示相對位置移動回來 假如其實(shí)目標(biāo)是1,表示從6移動到1的位置 沒有參數(shù)表示5移動到1的位置浩习;
}
}
04-SpecificSettings
using UnityEngine;
using System.Collections;
using DG.Tweening;
public class MyPanel : MonoBehaviour {
void Start () {
//設(shè)置動畫
Tweener tweener= transform.DOLocalMoveX(0,5);
//動畫播放一般是先塊后慢静暂,設(shè)置動畫播放的曲線
tweener.SetEase(Ease.InBack);//枚舉類型,先后退在返回 動畫曲線
tweener.SetLoops(2);//設(shè)置循環(huán)的次數(shù) 默認(rèn)是0 可以設(shè)置2
tweener.OnComplete(OnTweenComplete);//動畫播放完成之后執(zhí)行的方法 參數(shù)1:方法名稱谱秽; 動畫函數(shù)
}
void Update () {
}
void OnTweenComplete() {
Debug.Log("動畫播放完成了洽蛀!");
}
}
05-Text Tween
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;
public class MyPanel2 : MonoBehaviour {
//不要自動播放 自己控制播放
//定義一個(gè)持有的引用
private DOTweenAnimation tweenAnimation;
//定義一個(gè)標(biāo)志位 用來時(shí)候顯示摹迷;
private bool isShow=false;
void Start () {
//獲取組件
tweenAnimation=GetComponent<DOTweenAnimation>();
//播放動畫
// tweenAnimation.DOPlay();
}
void Update () {
}
//通過按鈕來控制動畫播放;
public void OnClick(){
if (isShow == true)
{
//如果是顯示 就倒放郊供;
tweenAnimation.DOPlayBackwards();
isShow = false;
}
else {
//如果沒顯示 就前放
tweenAnimation.DOPlayForward();
isShow = true;
}
}
}
06-Shake Screen
using UnityEngine;
using System.Collections;
using DG.Tweening;
public class MyShake : MonoBehaviour {
void Start () {
//通過transform組件獲取相應(yīng)的dg屬性
// transform.DOShakePosition(1);//參數(shù)1:表示震動時(shí)間 默認(rèn)表示前后左右上下震動一米峡碉、
transform.DOShakePosition(1,new Vector3(6,6,0));//參數(shù)2:表示左右 上下震動 z軸不變;
}
void Update () {
}
}
07-TextColorTween
public class MyText : MonoBehaviour {
//定義一個(gè)text獲取相應(yīng)的組件
private Text text;
void Start () {
//獲取相應(yīng)組件
text=this.GetComponent<Text>();
//顯示文字的特效動畫驮审;
text.DOText("接下來鲫寄,我們進(jìn)去游戲的第二篇章!",3);//參數(shù)1:表示顯示的文字 參數(shù)2:顯示的時(shí)間 3s
//如果有舊文字將會別替換疯淫;
}
// Update is called once per frame
void Update () {
}
}
08-DoTweenAnimation
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;
public class TextColorTween : MonoBehaviour {
//定義一個(gè)持有的引用
private Text text;
void Start () {
//獲取相應(yīng)組件
text = GetComponent<Text>();
//改變動畫顏色地来;
text.DOColor(Color.red,3);//參數(shù)1:目標(biāo)顏色 參數(shù)2:改變時(shí)間
//改變文字的透明度 就是改變 阿爾法值
text.DOFade(1,3);//參數(shù)1:表示從0 變到1,參數(shù)2:表示變化的時(shí)間峡竣;前提是把透明度改為零靠抑;
}
09-TweenPath