DoTween基本用法

转 DoTween完整方法
转 DOTween详解

基本用法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//引用
using DG.Tweening;

public class DoTweenText : MonoBehaviour {
    private Image _myImage;
    private Tween _myTween;
    // Use this for initialization
    private void Awake()
    {
        _myImage = transform.GetComponent<Image>();
    }
    void Start () {
        #region 静态方法使用
        //DOTween.To(
        //    ()=>_myImage.color,//动画要去改变的属性值
        //    toColor=>_myImage.color=toColor,//DoTween每次经过计算的Alpha通道值 赋给 需要改变的对象
        //    new Color(0,0,0,0),2f//改变的目标值,动画播放时间 2s
        //    );
        #endregion


        #region 直接用作当前对象
        //Tween tween = transform.DOLocalMoveX(300, 0.5f);//0.5s内向X方向移动300
        //tween.PlayForward();
        //tween.PlayBackwards();
        //不存在直接倒播情况
        #endregion



        #region 动画的保存和循环播放
        //_myTween = transform.DOLocalMoveX(300, 0.5f);
        //_myTween.SetAutoKill(false);//是否动态杀死
        //_myTween.Pause();//暂停
        #endregion

        #region 动画事件的注册
        Tween moveTween = transform.DOLocalMoveX(400, 2f);
        moveTween.OnComplete(ColorHide);
        #endregion

    }

    // Update is called once per frame
    void Update () {
        if (Input.GetMouseButtonDown(0))
        {
            _myTween.PlayForward();
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            _myTween.PlayBackwards();
        }
    }
    private void ColorHide()
    {
        DOTween.To(
            () => _myImage.color,
            toColor => _myImage.color = toColor,
            new Color(0, 0, 0, 0), 2f
            );
    }
}

弹窗样式

把图片Scale设置为0,0,0,并且点锚定按ALT键选右下角的填充屏幕
(注意引用Using UnityEngine.UI,Using DG.Tweening),定义,获取组件
代码实现

transform.localScale = Vector3.zero;
transform.DOScale(1, 1f);//目标值,时间

猜你喜欢

转载自blog.csdn.net/luxifa1/article/details/83994308