Unity_DOTween动画的学习(四)_基础演练<3/10/2017>
以下代码实现了cube从自身位置移动到(-10,-10,-10)的5秒平移:(用插值的方法实现)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class Getstart : MonoBehaviour
{
public Vector3 myValue;
public Transform cube;
// Use this for initialization
void Start()
{
DOTween.To(() => myValue, x => myValue = x, new Vector3(-10,- 10, -10), 5f);
}
// Update is called once per frame
void Update()
{
cube.position = myValue;
}
}
以下代码实现了UI界面的移动:(.position对应世界坐标,.localPosition对应局部坐标,此处用局部坐标)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Getstart : MonoBehaviour
{
Vector3 myValue = new Vector3(1245, 0, 0);//new Vector3(1245, 0, 0)为初始位置,一定要给值,不然默认使用一次(0,0,0)之后会保留上次的值来运行
public RectTransform uit;
void Start()
{
DOTween.To(() => myValue, x => myValue = x, new Vector3(0, 0, 0), 3f);//new Vector3(0, 0, 0)为目的地位置
}
void Update()
{
uit.localPosition = myValue;
}
}
3.可以对任意数值进行"渐变"处理:(可以用到颜色的渐变,数值的渐变等等方面)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Getstart : MonoBehaviour
{
public float myValueChange = 0;//可以对任意数值进行"渐变"处理
void Start()
{
DOTween.To(() => myValueChange, x => myValueChange = x, 10, 3f);//10为3秒内将要变换的目标值
}
}
运行后,面板上根据脚本执行的效果演示4.世界坐标运动和局部相对坐标运动:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Getstart : MonoBehaviour
{
public RectTransform rectTarget;
public void OnClick()
{
//rectTarget.DOMove(new Vector3(0, 0, 0), 0.3f);//基于世界坐标的移动
rectTarget.DOLocalMove(new Vector3(0, 0, 0), 0.3f);//基于相对坐标的移动
}
}