DOTween动画插件
介绍
DOTween官网 官方文档非常详细!
控制动画播放的方式
对变量进行动画
public Vector3 myValue = new Vector3(0,0,0);
//对变量做一个动画(通过插值的方式去修改一个值的变化)
DOTween.To(()=>myValue,x=>myValue=x,new Vector3(10,10,10),2);快捷的方式
panelTransform.DOLocalMove(new Vector3(10,10,10),2);动画组件可视化的方式
添加组件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