DOTween学习
1.世界坐标移动
//DOTween自带的方法(静态方法):对变量做一个动画(通过插值的方式修改一个值得变化)要使用 using DG.Tweening; 命名空间
//第一个参数:使用了 C# 的Lambda语法,对 myValue 值进行修改,返回 myValue
//第二个:也使用 Lambda 语法,把修改的值赋给 myValue,x是DOTween计算好的一个值
//第三个:目标值,就是 myValue 最后要变化到的值
//第四个:变化到目标值需要的时间
DOTween.To(() => myValue, x => myValue = x, new Vector3(10, 10, 10), 2);
2.本地坐标移动
//ui组件要使用本地坐标
//第一个参数:目标地点,就是要移动到哪个位置
//第二个参数:移动到那个位置需要的时间
transform.DOLocalMove(new Vector3(0, 0, 0), 1)
3.动画播放
//正放动画
transform.DOPlayForward();
//倒放动画
transform.DOPlayBackwards();
4.轴方向移动
//在指定轴方向移动
//第一个参数:目标X值
//第二个参数:时间
cube2.DOMoveX(5, 1);
//加了from之后就是从目标移动到当前位置
cube2.DOMoveX(5, 1).From( )
5.动画辅助设置
//myTween是一个Tween的对象,也就是动画的对象
myTween.SetEase(Ease.Linear); //设置动画匀速
myTween.SetLoops(4);//设置动画循环
myTween.OnComplete(myFunction);//动画播放完成后的回调
6.文字渐变
//文字渐变成红色,时间为两秒
text.DOColor(Color.red, 2);
//alpha 慢慢变成1,时间是3秒 ,就是显示出来
text.DOFade(1, 3);
//图片渐变需要获取image组件下的material
GetComponent<Image>().material.DOFade(1, 1);
7.震动相机
//第一个参数:震动时长
//第二个:震动的轴
//震动强度默认是1 0~1(没写出来)
transform.DOShakePosition(1, new Vector3(1, 1, 0));
DOShakePosition(Vector3 punch, float duration, float strength, int vibrato, float randomness, bool snapping)
DOShakeRotation(Vector3 punch, float duration, int vibrato, float elasticity)
DOShakeScale(Vector3 punch, float duration, int vibrato, float elasticity)
8.放大效果
DOScale(Vector3 to, float duration) DOScaleX/DOScaleY/DOScaleZ(float to, float duration)
9.旋转效果
DORotate(Vector3 to, float duration, bool useShortest360Route = true)
DOLocalRotate(Vector3 to, float duration, bool useShortest360Route = true)
DOLocalAxisRotate(Vector3 to, float duration)