DoTween关于文本动画的使用方法

一、创建一个场景,搭建好对应的UI界面,放置一个按钮,一个Text文本
二、编写关于文本动画的脚本
/***
*	Title:"SimpleUIFrame" UI框架项目
*		主题:文本的动画测试
*	Description:
*		功能:XXX
*	Date:2017
*	Version:0.1版本
*	Author:Coffee
*	Modify Recoder:
*/

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;


namespace SimpleUIFrame
{
	public class Move_Text : MonoBehaviour
	{
        //需要测试的动画文本
        public Transform MyText;
        //文本组件
        private Text _Text;
        //文本内容
        private string _TextContent;

        //物体移动或返回指定位置的标识
        private bool IsMove = false;

        //文本内容改变时间
        public float TextContentChangeTime = 0.5F;

        //自定义颜色
        Color32 newColor1;
        Color32 newColor2;

        void Start()
        {

            newColor1 = new Color32(38, 184, 152, 255);
            newColor2 = new Color32(38, 60, 152, 100);

            _Text = MyText.gameObject.GetComponent<Text>();
            _Text.text = "文本动画的测试";
            _TextContent = _Text.text;
            //将控制物体从当前位置移动到指定位置
            Tweener tweener = MyText.DOLocalMoveX(0, 1.5F);
            //设置动画曲线
            tweener.SetEase(Ease.InOutBack);
            //设置动画结束事件
            tweener.OnComplete(GoForward);
            //设置动画的返回起点事件
            tweener.OnRewind(GoBack);
            //设置动画的自动销毁为False
            tweener.SetAutoKill(false);
            //设置动画暂停
            tweener.Pause();
        }

        public void Move()
        {

            if (IsMove == false)
            {
                MyText.DOPlayForward();
                _Text.DOText("文本移动到指定位置过程中文本内容改变", TextContentChangeTime);
                _Text.DOColor(Color.red,2);
                IsMove = true;
            }
            else
            {
                MyText.DOPlayBackwards();
                _Text.DOText("文本返回到起始位置过程中文本内容还原", TextContentChangeTime);
                _Text.DOColor(Color.black, 2);
                IsMove = false;
            }
           
        }

        private void GoForward()
        {
            _Text.DOText("动画结束,开始文本内容测试", TextContentChangeTime);
            _Text.DOColor(newColor1, 2);
        }

        private void GoBack()
        {
            _Text.DOText("文本的原始内容为:"+_TextContent, TextContentChangeTime);
            _Text.DOColor(newColor2, 2);
            //隐藏该文本(0表示隐藏,1表示显示)
            _Text.DOFade(0, 3);
        }


    }//class_end
}


三、将脚本挂载给脚本管理器(新创建一个空物体改名为_ScriptMgr)上,然后给该脚本指定对应的文本,给按钮指定Move()方法

四、运行场景,然后点击按钮即文本移动到指定位置同时现文本内容改变,文本移动到指定位置后文本内容也改变,在点击一下按钮文本返回起始位置同时文本内容改变,回到起始位置后文本内容还原。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页