说明:参照Siki学院Andy老师的课程整理的关于DOTween的一些比较常用的方法,再次感谢老师的讲解
适合看的人呢:稍微知道这个插件是干嘛的就行O(∩_∩)O,至少我觉得是
由于前面有些没有记,也是些比较基本的,就直接放图片了,
shake
是震动
blend
是类似混合动画,将两个动画进行混合。而且是个增量。
Material
Material m = GetComponent<MeshRenderer>().material;
m.DoColor(Color.red,2);
//这个的基础是物体的Shader中有Main Color这个属性的,没有的话不能改变,是有解决办法的,下面:
m.DoColor(Color.red,”_TintColor”,2);
//””中的是颜色的名字
改变材质的透明度
m.DoColor(Color.Clear,2);
m.DoFade(0,2);
public Gradient _gradient;
m.DoGradientColor(_gradient,2);
//只是渐变颜色
//Gradient 是什么呢,定义了之后出来的,,上头那个是透明度,下头的标记是颜色
m.DoVector();
//改变Shader中四维向量的值
m.DoBlendableColor(Color.red,2);
//混合颜色
m.DoBlendableColor(Color.yellow,2);
Camera
Camera c = GetComponent<Camera>();
c.DoAspect(1);
//改变相机的宽高比(宽/高),1的时候就是个正方形
c.DoColor(Color.red,2);
//改变相机背景颜色
c.DoNeraClipPlane();
//改变相机近切面和远切面的值
c.DoFarClipPlane();
c.DOFieldOfView(1,5);
//相机张开的角度,可以用这个实现倍镜效果,越小物体越大
c.DOOrthoSize();
//改变相机正交大小
//相机分屏
c.DOPiexelRect(new Rect(0,0,500,500),2);
//改变相机视域,头两位的0,0,代表坐标,从哪开始算
c.DoRect();
//按百分比显示
//相机晃动
c.DOShakePosition(2,10,20);
Text
Text t = GetCompoent<Text>();
DoColor/DOFade/DOBlendableColor
t.DoText(“aaaaaaaa”,0.5f);
//让字一个字一个字的弹出,后面加上 “.SetEase(Ease.Linear);”匀速弹出
队列
Sequence quence = DOTween.Sequence();
quence.Append(transform.DOMove(Vector3.one,2));
//0-2s
quence.Join(transform.DOScale(Vector3.one*2,2));
//加入到上一个方法同时执行
quence.AppendInterval(1);
//添加延时//2-3s
quence.Append(transform.DOMove(new Vector3(1,0,0),2));
//3-5s
quence.Insert(0,transform.DOMove(-Vector3.one,2));
//插入一个动画,第一个参数是所在的时间,跟上头一块用的时候会把0-2s的动画覆盖掉,执行插入的这个动画,ps:这个插入可以不同类型的同时执行,比如边位移边放大
quence.Prepend(transform.DOMove(-Vector3.one*2,2));
//预添加,添加到Append之前,后添加的先执行
//队列回调函数
quence.InsertCallback(5,InsertCakkBack);
//1,插入的时间点2,回调函数………第五秒执行那个函数
private void InsertCakkBack(){Debug.Log(“1235497”);}
同样的,还有AppendCallback/PrependCallback
设置参数
.SetLoops();
//1、循环次数,-1无限循环,2、LoopType
.SetAutoKill(true);
//自动缓存
.From();
//返回起始点,如果添加参数True,作为增量运动,就是起始点与目标点一样依旧会运动
.SetDelay(3);
//设置延时
.SetSpeedBased();
//让物体运动以速度为基准,原先代表时间的现在就代表速度了,参数true代表以速度为基准
//调用缓存
.SetId(“ID”);
//先设置ID
.DoTween.Play(“ID”);
.SetRelative(true);
//相对运动,也就是增量运动
//设置帧函数
.SetUpdate(UodateType,true
//不受Unity中TimeScale影响
)
Ease(
http://robertpenner.com/easing/easing_demo.html
)
transfrom.DOMove(Vector3.one,2).SetEase(Ease.InBack);
//括号中的网站找就行了
添加自己可以调节的一个曲线
public AnimationCurve _curve;
transfrom.DOMove(Vector3.one,2).SetEase(_curve);
回调函数
//动画完成时执行的函数
transform.DOMove(Vector3.one,2).OnComplete();
//动画被杀死的时候
transform.DOMove(Vector3.one,2).OnKill();
//动画play的时候
transform.DOMove(Vector3.one,2).OnPlay();
//动画暂停的时候
transform.DOMove(Vector3.one,2).Onpause();
//动画第一次执行的时候
transform.DOMove(Vector3.one,2).OnStart();
//动画循环的时候,每循环完一次的时候都会调用一次
transform.DOMove(Vector3.one,2).OnStepComplete();
//动画运行的时候
transform.DOMove(Vector3.one,2).OnUpdate();
//动画重新播放的时候,比如:restart、rewind、doflip、dobackward
transform.DOMove(Vector3.one,2).OnRewind();
控制函数
DOPause()//暂停
DOPlay()//播放
DORestart()//重播
DORewind()//倒播
DOKill()//杀死
DOFlip()//翻转补间,就是目标点和终点位置互换
DOGoto()//跳转到时间点位置并且是否播放;
DOPlayBackwards()//反向播放动画,跟flip差不多
DOPlayForwaed()//正向
DOTogglePause()//如果在暂停的时候运行就是播放,在播放的时候就是暂停