DOTween动画插件

介绍

DOTween官网 官方文档非常详细!

控制动画播放的方式

  1. 对变量进行动画
    public Vector3 myValue = new Vector3(0,0,0);
    //对变量做一个动画(通过插值的方式去修改一个值的变化)
    DOTween.To(()=>myValue,x=>myValue=x,new Vector3(10,10,10),2);

  2. 快捷的方式
    panelTransform.DOLocalMove(new Vector3(10,10,10),2);

  3. 动画组件可视化的方式
    添加组件DOTweenAnimation,设置属性、动画事件。也可添加脚本获取组件进行控制。

常用API

动画的前放和倒放

Tweener tweener = panelTransform.DOLocalMove(new Vector3(0,0,0),0.3f);
tweener.SetAutoKill(false);//自动销毁设置成false
tweener.Pasue();
panelTransform.DOPlayBackwards();   //倒放
panelTransform.DOPlayForward();   //前放

From Tweens

From表示从目标位置移动到当前位置,参数默认false,true表示从相对位置
transform.DOMoveX(5,1).From();
transform.DOMoveX(5,1).From(true);

动画的属性设置(动画曲线和事件函数)

Tweener tweener = transform.DOLocalMoveX(0,5);
tweener.SetEase(Ease.Linear);
tweener.SetLoops(-1);    //-1无限循环
tweener.OnComplete(OnTweenCompleteFunc);  //动画结束回调

动画效果示例

对话框文字动画

text.DOText("这是打印效果动画的文字",2);

屏幕震动效果

transform.DOShakePosition(1,new Vector3(1,1,0));

颜色和透明度动画

text.DOColor(Color.red,2);
text.DOFade(1,3);

DOTweenPath组件 路径编辑器

添加DOTweenPath组件,自定义路径

一些坑

游戏暂停使用Time.Scale=0的时候,UI继续有动画怎么办?
设置tweener.SetUpdate(true); 即可。意思就是这个Tween是忽略TimeScale。默认false

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐