目录
1.导入DoTween插件(DOTween Pro v0.9.290.unitypackage)
1.导入DoTween插件(下载地址:https://pan.baidu.com/s/1Ri4DuHrb9KIpPxMXyoNgng)
2.对变量进行动画
using UnityEngine;
using DG.Tweening;
public class GetStart : MonoBehaviour {
public Vector3 myValue = new Vector3(0, 0, 0);
void Start()
{
DOTween.To(() => myValue, x => myValue = x, new Vector3(10, 10, 10), 2);
}
}
3.控制cube的动画
using DG.Tweening;
using UnityEngine;
public class GetStart : MonoBehaviour
{
public Vector3 myValue = new Vector3(0, 0, 0);
public Transform cubeTransform;
private void Start()
{
DOTween.To(() => myValue, x => myValue = x, new Vector3 (6,6,6), 2);
}
private void Update()
{
cubeTransform .position = myValue;
}
}
4.控制UI面板的动画
using DG.Tweening;
using UnityEngine;
public class GetStart : MonoBehaviour
{
public static Vector3 myValue = new Vector3(385, 0, 0);
public Transform cubeTransform;
public RectTransform taskPanelTransform;
private void Start()
{
DOTween.To(() => myValue, x => myValue = x, new Vector3 (0,0,0), 2);
}
private void Update()
{
taskPanelTransform .localPosition = myValue;
}
}
5.动画的快捷播放方式
using DG.Tweening;
using UnityEngine;
public class MyButton : MonoBehaviour
{
public RectTransform panelTransform;
public void OnClick()
{
panelTransform .DOLocalMove(new Vector3(0, 0, 0), 2);
}
}
6.动画的前放和倒放
using DG.Tweening;
using UnityEngine;
public class MyButton : MonoBehaviour
{
public RectTransform panelTransform;
private bool isIn = false;
private void Start()
{
Tweener tweener = panelTransform.DOLocalMove(new Vector3(0, 0, 0), 0.3f);//动画播放完成会默认被销毁,现在我们不想让他销毁。Tweener对象保存这个动画的信息,每次调用do类型的方法都会创建一个Tweener对象
tweener.SetAutoKill(false);//把自动销毁设置为false
tweener.Pause();
}
public void OnClick()
{
if(isIn ==false)
{
panelTransform.DOPlayForward();
isIn = true;
}
else
{
panelTransform.DOPlayBackwards();
isIn = false;
}
}
}
7.From Tweens
8.动画的属性设置
using UnityEngine;
using DG.Tweening;
public class MyPanel : MonoBehaviour {
void Start () {
Tweener tweener = transform.DOLocalMoveX(0, 2);
tweener.SetEase(Ease.OutBounce);//设置动画曲线
tweener.OnComplete(OnTweenComplete);//调用方法
tweener.SetLoops(2); //动画循环2次
}
void OnTweenComplete()
{
Debug.Log("动画播放完了");
}
}
9.对话框文字动画
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class MyText : MonoBehaviour {
private Text text;
void Start () {
text = GetComponent<Text>();
text.DOText("大家好,我是李疆",3);
}
}
10.屏幕震动效果
using UnityEngine;
using DG.Tweening;
public class MyShakeCamera : MonoBehaviour {
void Start () {
transform.DOShakePosition(1, new Vector3(3, 3, 0));
//摄像机只在x,y方向上震动,最大偏移距离为3,震动1秒
}
}
11.颜色和透明度渐变动画
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class TextColorTween : MonoBehaviour {
private Text text;
void Start () {
text = GetComponent<Text>();
text.text = "大家好,我是李疆";
text.DOFade(1, 3);
text.DOColor(Color.red, 3);
}
}
12.动画的组件可视化
using UnityEngine;
using DG.Tweening;
public class Panel2 : MonoBehaviour {
private DOTweenAnimation tweenAnimation;
private bool isShow = false ;
void Start () {
tweenAnimation = GetComponent<DOTweenAnimation>();
}
public void OnClick()
{
if (isShow == true)
{
tweenAnimation.DOPlayBackwards();
isShow = false;
}
else
{
tweenAnimation.DOPlayForward();
isShow = true;
}
}
}
13.DoTweenPath路径编辑器的使用