DOTween文档
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3962424.html
前言#
DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会更新。
DoTween:0.8.2.00
官方文档:http://dotween.demigiant.com/documentation.php
更新于2016-06#
更新于:2016-06-25
不知不觉此文过去2年了,DoTween新版本已到:1.1.310
版本记录:http://dotween.demigiant.com/download.php 点击 Old versions and Changelog 查看版本历史
DoTween UnityUI#
Dotween已为新的GUI系统做好准备,包括CanvasGroup,Graphic,Image,LayoutElement,Outline,RectTransform,ScrollRect,Slider,Text。
利用它你肯定可以定制出强大的动画系统。
Dotween TextMesh Pro/2D Tookit#
Dotween同样为2D Tookit的Tk2dBaseSprite,tk2dSliceSprite等做好准备
Dotween同样为TextMeshPro+TextMeshProUGUI做好准备,包括DOFontSize,DOText,DOFaceFade等
Dotween 路径动画#
dotwwen pro包含路径动画,路径可视化编辑,强大的属性面板
Dotween Pro :https://www.assetstore.unity3d.com/en/#!/content/32416
Dotween Free:https://www.assetstore.unity3d.com/en/#!/content/27676
一、术语#
Tweener#
一个tween控制value和animates
Sequence#
一个特殊的tween,并不是控制value,和其它的tween一起成为一个动画组
Tween#
一个普通词,既可以表示 Tweener 也可以表示 序列
Nested tween #
一个tween,包含序列
DoTween前缀#
前缀在智能感知里是非常重要的,所以尽可能要记住这些:
DO 前缀是所有的tween的快捷方式(可以直接操作已知 object,比如transform或material),也是DOTween 类主要的前缀
transform.DOMoveX(100, 1); transform.DORestart(); DOTween.Play();
Set 前缀,所有的tween设置
myTween.SetLoops(4, LoopType.Yoyo).SetSpeedBased();
On 前缀, 所有的tween回调
myTween.OnStart(myStartFunction).OnComplete(myCompleteFunction);
二、DOTween.Init#
当你第一次创建 tween,DOTween将会使用默认值自动初始化。
如果你喜欢自己初始化(推荐),在创建任何tween之前(创建之后将不会有任何效果),调用这些方法一次。
想想看,你可以使用DOTween的 global settting 改变所有的初始化设置。
或者,你可以 通过链 SetCapacity 初始化方法,它可以设置 Tweeners最大值/FPS的初始容量(在高版本中可以调用 DOTween.SetTweensCapacity)
static DOTween.Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = default)
比如:
DOTween.Init(true, true, LogBehaviour.Verbose).SetCapacity(200, 10);
三、Creating a Tweener#
Tweener好似为DOTween工作的一只蚂蚁,它采用 属性/字段对给定值进行动画处理。
截止目前 DOTween可以处理这些类型的值:
float,int,uint,Vector2/3/4,Quaternion,Rect,RectOffset,string
有三种方式创建 Tweener
A.便捷方式#
DOTween包括一些已知的unity object,比如 Transform,Rigidbody和Material,你可以直接对这些object进行tween(这也会自动设置对象自己为target)比如:
transform.DOMove(new Vector3(2,3,4), 1); rigidbody.DOMove(new Vector3(2,3,4), 1); material.DOColor(Color.green, 1);
所有这些快速方式也有From,除了特殊说明,只需在方法名称后添加From
transform.DOMoveFrom(new Vector3(2,3,4), 1); rigidbody.DOMoveFrom(new Vector3(2,3,4), 1); material.DOColorFrom(Color.green, 1);
Camera#
DOColor(Color to, float duration) DOShakePosition(float duration, float strength, int vibrato, float randomness) DOShakeRotation(float duration, float strength, int vibrato, float randomness)
Light#
Material#
Rigidbody#
Move#
SpriteRenderer#
详细的文档请参考官方:http://dotween.demigiant.com/documentation.php
Transform#
Move#
DOMove(Vector3 to, float duration, bool snapping) DOMoveX/DOMoveY/DOMoveZ(float to, float duration, bool snapping) DOLocalMove(Vector3 to, float duration, bool snapping) DOLocalMoveX/DOLocalMoveY/DOLocalMoveZ(float to, float duration, bool snapping)
Rotate#
DORotate(Vector3 to, float duration, bool useShortest360Route = true) DOLocalRotate(Vector3 to, float duration, bool useShortest360Route = true) DOLocalAxisRotate(Vector3 to, float duration)
Scale#
DOScale(Vector3 to, float duration) DOScaleX/DOScaleY/DOScaleZ(float to, float duration)
Punch – no FROM#
DOPunchPosition(Vector3 punch, float duration, int vibrato, float elasticity, bool snapping) DOPunchRotation(Vector3 punch, float duration, int vibrato, float elasticity) DOPunchScale(Vector3 punch, float duration, int vibrato, float elasticity)
Shake – no FROM#
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)
WaitFor coroutines#
WaitForCompletion() WaitForElapsedLoops(int elapsedLoops) WaitForKill() WaitForPosition(float position) WaitForStart()
官方英文API#
后面大多比较简单就不再一一翻译了,附上官方英文文档:http://dotween.demigiant.com/documentation.php
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
2013-09-09 Unity中小地图做法