DoTween使用方法.pdf

上传人:赵** 文档编号:60850385 上传时间:2022-11-18 格式:PDF 页数:14 大小:486.13KB
返回 下载 相关 举报
DoTween使用方法.pdf_第1页
第1页 / 共14页
DoTween使用方法.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《DoTween使用方法.pdf》由会员分享,可在线阅读,更多相关《DoTween使用方法.pdf(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、DoTween 使用方法官方文档链接:http:/ 真的比 iTween 好很多:1.编写方面更加人性化2.效率高很多很多很多,其中有一点是因为 iTween 使用的是 unity 内置的 SendMessageDOTween 一般的样子是这样滴:using DG.Tweening;transform.DOMoveX(45,1).SetDelay(2).SetEase(Ease.OutQuad).OnComplete(MyCallback);好了,正式开始!一些名词:Tweener:补间动画Sequence:相当于一个 Tweener 的链表,可以通过执行一个 Sequence 来执行一串 T

2、weenerTween:Tweener+SequenceNested tween:Sequence 中的一个 Tweener 称为一个Nested tween 主要的方法(就是最常用的):1.以 DO 开头的方法:就是补间动画的方法。例如:transform.DOMoveX(100,1)2.以 Set 开头的方法:设置补间动画的一些属性。例如:myTween.SetLoops(4,LoopType.Yoyo)3.以 On 开头的方法:补间动画的回调方法。例如:myTween.OnStart(myStartFunction)DOTween 初始化与全局设置:当你第一次创建一个 Tween 时,就

3、会自动初始化(只初始化一次),使用缺省值。当然,也可以使用 DOTween.Init 方法进行自定义,但要在第一次创建一个 Tween 前。所有创建的 Tween 都会受DOTween.Init 方法的影响。但之后,你也可以通过 DOTween 类的一些静态方法或者变量来修改全局设置:static LogBehaviour DOTween.logBehaviourstatic bool DOTween.showUnityEditorReportstatic float DOTween.timeScalestatic bool DOTween.useSafeModestatic DOTween.

4、SetTweensCapacity(int maxTweeners,intmaxSequences)static bool DOTween.defaultAutoKillstatic AutoPlay DOTween.defaultAutoPlaystatic float DOTween.defaultEaseOvershootOrAmplitudestatic float DOTween.defaultEasePeriodstatic Ease DOTween.defaultEaseTypestatic LoopType DOTween.defaultLoopTypestatic bool

5、DOTween.defaultRecyclablestatic bool DOTween.defaultTimeScaleIndependentstatic UpdateType DOTween.defaultUpdateTypestaticDOTween.Init(bool recycleAllByDefault=false,booluseSafeMode=true,LogBehaviour logBehaviour=LogBehaviour.ErrorsOnly)recycleAllByDefault:如果为 true,则当 Tween 完成时就会被回收,放到一个池中;否则就会被 dest

6、royuseSafeMode:效率会稍微降低,但更安全logBehaviour:默认值为只打印错误信息创建 Tweener(有三种方法):1.static DOTween.To(getter,setter,to,float duration)以 DOTween.To()=>myVector,x=>myVector=x,new Vector3(3,4,8),1);为例,就是对 myVector 进行插值,目标值为 Vector3(3,4,8)2.transform.DOMove(new Vector3(2,3,4),1);rigidbody.DOMove(new Vector3(2,

7、3,4),1);material.DOColor(Color.green,1);对于 unity 内置的一些组件,都可以通过.+DO 开头的方法的方式创建补间动画以 transform.DOMove(new Vector3(2,3,4),1)为例,newVector3(2,3,4)是最终值,意思是用一秒的时间运动到Vector3(2,3,4)而 transform.DOMove(new Vector3(2,3,4),1).From(),就是从 Vector3(2,3,4)运动到当前位置3.static DOTween.Punch(getter,setter,Vector3 direction,

8、float duration,int vibrato,float elasticity)static DOTween.Shake(getter,setter,float duration,float/Vector3 strength,int vibrato,float randomness,boolignoreZAxis)static DOTween.ToAlpha(getter,setter,float to,floatduration)static DOTween.ToArray(getter,setter,float to,floatduration)static DOTween.ToA

9、xis(getter,setter,float to,floatduration,AxisConstraint axis)static DOTween.To(setter,float startValue,float endValue,float duration)创建Sequence:Sequence 可以包含 Sequence,当执行一个 Sequence 时会顺序执行 Tweener,可以使用 Insert 方法实现同时执行。Sequence 的方法:static DOTween.Sequence()Append(Tween tween)AppendCallback(TweenCallb

10、ack callback)AppendInterval(float interval)Insert(float atPosition,Tween tween)InsertCallback(float atPosition,TweenCallback callback)Join(Tween tween)Prepend(Tween tween)PrependCallback(TweenCallback callback)PrependInterval(float interval)例子:csharp viewplaincopyprint?/Grab a free Sequence to useSe

11、quence mySequence=DOTween.Sequence();/Add a movement tween at the beginningmySequence.Append(transform.DOMoveX(1,1);/Add a rotation tween as soon as the previousone is finishedmySequence.Append(transform.DORotate(newVector3(0,180,0),1);/Delay the whole Sequence by 1 secondmySequence.PrependInterval(

12、1);/Insert a scale tween for the whole duration ofthe SequencemySequence.Insert(0,transform.DOScale(newVector3(3,3,3),mySequence.Duration();/Grab a freeSequence to useSequence mySequence=DOTween.Sequence();/Add a movement tween at the beginningmySequence.Append(transform.DOMoveX(1,1);/Add a rotation

13、 tween as soon as the previousone is finishedmySequence.Append(transform.DORotate(newVector3(0,180,0),1);/Delay the whole Sequence by 1 secondmySequence.PrependInterval(1);/Insert a scale tween for the whole duration ofthe SequencemySequence.Insert(0,transform.DOScale(newVector3(3,3,3),mySequence.Du

14、ration();等同于:csharpview plaincopyprint?Sequence mySequence=DOTween.Sequence();mySequence.Append(transform.DOMoveX(45,1).Append(transform.DORotate(new Vector3(0,180,0),1).PrependInterval(1).Insert(0,transform.DOScale(new Vector3(3,3,3),mySequence.Duration();Sequence mySequence=DOTween.Sequence();mySe

15、quence.Append(transform.DOMoveX(45,1).Append(transform.DORotate(new Vector3(0,180,0),1).PrependInterval(1).Insert(0,transform.DOScale(new Vector3(3,3,3),mySequence.Duration();上面我们提到了全局设置,这里我们再说一说针对 Tweener和 Sequence 的局部设置float timeScaleSetAs(Tween tween TweenParamstweenParams)SetAutoKill(bool autoKi

16、llOnCompletion=true)SetEase(Ease easeType AnimationCurve animCurve EaseFunction customEase)SetId(object id)SetLoops(int loops,LoopType loopType=LoopType.Restart)SetRecyclable(bool recyclable)SetUpdate(UpdateType updateType,boolisIndependentUpdate=false)注意的一点是 SetUpdate 方法可以让目标忽略 timeScale 回调方法:OnCom

17、plete(TweenCallback callback)OnKill(TweenCallback callback)OnPlay(TweenCallback callback)OnPause(TweenCallback callback)OnRewind(TweenCallback callback)OnStart(TweenCallback callback)OnStepComplete(TweenCallback callback)OnUpdate(TweenCallback callback)OnWaypointChange(TweenCallback<int>callba

18、ck)还有一些针对部分 Tweener 的特殊的局部设置:注意SetOptions 方法必须紧跟 Tweener,就好像这样:DOTween.To()=>myVector,x=>myVector=x,newVector3(2,2,2),1).SetOptions(AxisConstraint.Y,true);TweenParams:就是可以将一些参数应用到多个 Tweener 中csharp viewplaincopyprint?/Store settings for an infinite looping tween with elasticeaseTweenParams tPa

19、rms=newTweenParams().SetLoops(-1).SetEase(Ease.OutElastic);/Apply them to a couple of tweenstransformA.DOMoveX(15,1).SetAs(tParms);transformB.DOMoveY(10,1).SetAs(tParms);/Storesettings for an infinite looping tween with elastic easeTweenParams tParms=newTweenParams().SetLoops(-1).SetEase(Ease.OutEla

20、stic);/Apply them to a couple of tweenstransformA.DOMoveX(15,1).SetAs(tParms);transformB.DOMoveY(10,1).SetAs(tParms);操作Tweener(有三种方法):1.DOTween 静态方法csharp view plaincopyprint?/Pauses all tweensDOTween.PauseAll();/Pauses all tweens that have badoom as an idDOTween.Pause(badoom);/Pauses all tweens tha

21、t have someTransform as a targetDOTween.Pause(someTransform);/Pauses all tweensDOTween.PauseAll();/Pauses all tweens that have badoom as an idDOTween.Pause(badoom);/Pauses all tweens that have someTransform as a targetDOTween.Pause(someTransform);2.Tweener 方法csharpview plaincopyprint?myTween.Pause()

22、;myTween.Pause();3.部件.+以 DO 开头的方法csharp view plaincopyprint?transform.DOPause();transform.DOPause();以上的是 Pause 方法,以下的是其余的操作方法。上面三种方式中,DOTween 和 Tweener 都有以下的操作方法,而部件的话,要在前面加上DO。CompleteAll/Complete()FlipAll/Flip()GotoAll/Goto(float to,bool andPlay=false)KillAll/Kill(bool complete=true)PauseAll/Pause()PlayAll/Play()PlayBackwardsAll/PlayBackwards()PlayForwardAll/PlayForward()RestartAll/Restart(bool includeDelay=true)RewindAll/Rewind(bool includeDelay=true)TogglePauseAll/TogglePause()一些特殊的操作方法:ForceInit()GotoWaypoint(float waypointIndex,bool andPlay=false)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com