物体基本移动
移动Cubu以及移动UI,To方法
using DG.Tweening;
public class MoveCubuDoTween : MonoBehaviour {
private Vector3 cubeMoveValue = new Vector3(0,0.5f,0);
public RectTransform imageTransform;
private Vector3 imageMove;
void Start () {
imageMove = imageTransform.position;
// cube使用2s移动到10,10,10
DOTween.To(() => cubeMoveValue, x => cubeMoveValue = x, new Vector3(10, 10, 10), 2);
// image使用3s移动到0,0,0
DOTween.To(() => imageMove, y => imageMove = y, new Vector3(0, 0, 0), 3);
}
void Update () {
// cube移动
transform.position = cubeMoveValue;
// image移动
imageTransform.localPosition = imageMove;
}
}
DoMove方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class DoPlayTest : MonoBehaviour {
public RectTransform imageTransform;
private bool isMoveIn = false;
void Start () {
// 0.3秒移动到中心
Tweener imageTr = imageTransform.DOLocalMove(new Vector3(0,0,0),0.3f);
// 不进行销毁动画
imageTr.SetAutoKill(false);
// 暂停执行动画
imageTr.Pause();
}
/// <summary>
/// 可频繁进行动画播放 回退
/// </summary>
public void OnButtonClick(){
// DOPlay可用于仅执行一次
//imageTransform.DOPlay();
// Forward和Backwards成对使用,可频繁调用
if (!isMoveIn)
{
imageTransform.DOPlayForward();
isMoveIn = true;
}
else {
imageTransform.DOPlayBackwards();
isMoveIn = false;
}
}
}
From用法
void Start () {
// 从绝对位置的10,移动到现在的位置
transform.DOMoveX(10, 3).From();
// 从相对位置的10,移动到现在位置
transform.DOMoveX(10, 3).From(true);
}