DoTween插件的使用

在这里插入图片描述

背景缩放

    private Image _Image;
    void Start() {
        _Image = gameObject.GetComponent<Image>();

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

屏幕抖动效果

此操作针对摄像机

void Start () {
    //参数分别是震动幅度和相机位移的向量,比如我不想让前后动,就把z轴设置为0
        transform.DOShakePosition(1,new Vector3(3,3,0));
    }

文字框Test文本的轮播动画

一个字一个字的播放Text文本内容

    private Text text;
    void Start () {
        text = this.GetComponent<Text>();
        text.DOText("接下来,我们进入第二篇章接下来,我们进入第二篇章", 4);
    }

背景渐变效果

private Image _Image;
    void Start() {
        _Image = gameObject.GetComponent<Image>();
        DOTween.To(
            () => _Image.color,     //我们动画要去改变属性值
            toColor => _Image.color = toColor,  //toColor是临时变量 DoWween每次经过计算的Alpha通道值 赋给需要改变的对象
            new Color(0, 0, 0, 0),  //改变的目标值
            2f   //动画播放的时间 2s
            );
     }

平移+动画循环播放+动画注册事件

        private Image _Image;
        private Tween _Tween;
    void Start() {
        _Image = gameObject.GetComponent<Image>();
        //2.作用于当前对象
        _Tween = transform.DOLocalMoveX(300, 1f);  //往X轴方向移动 (距离,时间)
        _Tween.PlayForward();  //顺播
        _Tween.PlayBackwards();  //倒播

        //3.动画的循环播放
        _Tween = transform.DOLocalMoveX(300, 1f);
        _Tween.SetAutoKill(false);
        _Tween.Pause();
        //4.注册动画事件
        _Tween = transform.DOLocalMoveX(300, 1f);
        _Tween.OnComplete(AnimationInc);
    }

    private void AnimationInc()
    {
        DOTween.To(
            () => _Image.color,     //我们动画要去改变属性值
            toColor => _Image.color = toColor,  //toColor是临时变量 DoWween每次经过计算的Alpha通道值 赋给需要改变的对象
            new Color(0, 0, 0, 0),  //改变的目标值
            2f   //动画播放的时间 2s
            );
    }

用按钮监听控制其他对象的移动或显示隐藏

此脚本挂在Canvas上

public class Test02 : MonoBehaviour {

    private Button _button;
    private RectTransform taskPanelTransform;
    private bool isshow = false;

	void Start () {
        _button = transform.GetComponent<Button>();
        taskPanelTransform = transform.Find("Image01").GetComponent<RectTransform>();
        _button.onClick.AddListener(OnclickBtn);
        Tween tweener = taskPanelTransform.DOLocalMove(new Vector3(0, 0, 0), 1);//修改的是局部坐标,默认动画完后会被销毁
        tweener.SetAutoKill(false);//把SetAutoKill自动销毁设置为false
        tweener.Pause();//让动画在开始时暂停
	}
    private void OnclickBtn()
    {
        if (isshow == false)
        {
            taskPanelTransform.DOPlayForward();//让动画向前播放
            isshow = true;
        }else
        {
            taskPanelTransform.DOPlayBackwards();//让动画向后播放
            isshow = false;
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_43140883/article/details/84021145
今日推荐