在使用ugui和dotween做动画时,如使用transform.DoMoveX,.DoLocalMoveX,.DoMove,.DoLocalMove等方法时,动画效果有可能是错误的,什么时候错误呢?
在transfrom.localPosition 不等于rectTransform.anchoredPosition时,就会发生错误。
所以这个时候要使用
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class M_DJ : MonoBehaviour {
public RectTransform rectTransform;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.A))
{
DOTween.To(() => { return rectTransform.anchoredPosition; }, v => { rectTrans.anchoredPosition = v; },
new Vector2(96, 0), 1f);
}
if (Input.GetKeyDown(KeyCode.S))
{
DOTween.To(() => { return rectTransform.anchoredPosition; }, v => { rectTrans.anchoredPosition = v; },
new Vector2(0, 0), 1f);
}
}
}