博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DoTween(HOTween V2) 教程
阅读量:7044 次
发布时间:2019-06-28

本文共 3122 字,大约阅读时间需要 10 分钟。

DoTween资料

官方网站:

下载地址:

快速开始:

官方文档:

 

一、准备工作

1、下载 ,解压至Unity的Asset文件夹,如果你使用的Unity版本低于Unity4.3,请删除所有的 DOTween43文件

2、在你们创建一个新的脚本时,需要在顶部导入命令空间:

using DG.Tweening;

3、初始化全局选项(可选)

DOTween.Init(autoKillMode, useSafeMode, logBehaviour);

如果你不这样做(或在你创建第一个Tween之后)DOTween将自动初始化为默认值,

二、使用方法

DOTween可以使用 ,像这样

你也可以使用 ,像这样

无论选择那种方式,当你创建 tween 都会返回一个Tweener 或一个序列(),如果你需要保存,你可以保存两者为Tween而无须关心它们的区别。

你可以以不同的方式 ,你可以使用static的DOTween方法(有过滤的附加选项)……

// Rewind all tweens 撤消所有的tweenDOTween.Rewind();// Rewind all tweens with a given id 根据指定id撤消tweenDOTween.Rewind(myId);

直接的tween引用

// Rewind a referenced tween 撤消引用的tweenmyTween.Rewind();p>

或更多方式

// Rewind all tweens connected to a specific transform 撤消所有的tween到特定的transformtransform.DORewind();

三、Global或特定设置

你可以设置 将应用于所有新创建的补间动画,或通过 为每一个单独的补间动画。

全局设置

允许你设置默认 autoPlay和autoKill 行为,ease type,global timeScale,以及类似的东西。

具体设置

是通过链分配,他们都开始以“Set”开始(除了Callbacks,是以"On"开始”),所以智能感知帮助你找到他们,这儿有些例子

// Create a transform tween and set its ease, loops and OnComplete callback(创建一个transform的tween,设置type为ease,循环,OnComplete回调)transform.DOMove(new Vector3(2,2,2), 2).SetEase(Ease.OutQuint).SetLoops(4).OnComplete(myFunction);// Same as above but using line breaks to make it more readable(同上,但使用换行符,使其更具可读性)transform.DOMove(new Vector3(2,2,2), 2)  .SetEase(Ease.OutQuint)  .SetLoops(4)  .OnComplete(myFunction);// Same as above but storing the tween and applying settings without chaining(同上,但没有使用链的方式)Tween myTween = transform.DOMove(new Vector3(2,2,2), 2);myTween.SetEase(Ease.OutQuint);myTween.SetLoops(4);myTween.OnComplete(myFunction);
 

此外一类 tween 类型都有 ,取决取决于值补间的取决于值补间的类型,它可以通过设置 SetOptions() 只要记住, SetOptions()是特殊的,当主要创建补间动画的方法后它需要立即链接:

// Same as the previous examples, but force the transform to// snap on integer values (very useful for pixel perfect stuff)//和上面的例子类似,但需要强制transform临时调整数值(对于像素完美是非常有用的)transform.DOMove(new Vector3(2,2,2), 2)  .SetOptions(true)  .SetEase(Ease.OutQuint)  .SetLoops(4)  .OnComplete(myFunction);

你甚至可以Copy 一个tween的设置到另一个tween ,使用SetAs() :

// Create a tween with some settings and store it as a TweenTween myTween = transform.DOMove(new Vector3(2,2,2), 2)  .SetEase(Ease.OutQuint)  .SetLoops(4)  .OnComplete(myFunction);// Create another tween and apply the same settings as the previous one(创建另一个tween,并应用上一个tween的设置)material.DOColor(Color.red, 2).SetAs(myTween);

这两个tween都会循环4次,easeType为OutQuint,当tween完成时都会调用myFunction)

四、Tween的Life(生命周期)

当你创建tween时它会自动播放(除非你设置了全局的 行为)直到完成循环

当tween完成后它会自动终止(除非你设置了做全局的 defaultAutoKill 行为),这意味着你不能再使用它。

如果你们要重复使用同一个tween,仅仅需要设置它的 autoKill 为 False(可以通过 global autoKill 设置所有的tweens 或为你自己的tween 设置 SetAutoKill(false) ).

如果你的tween的target为null,在tween播放时会报异常,你需要注意或激活

五、Cache和tween最大值

如果你有 缓存所有的你创建的tween,它们就可以重复使用,不需要创建新的。

此外也可以避免使用更多的资源,它会限制最大200个Tweeners并且50FPS在同一时间,如果你需要更多,DOTween会自动增加它的大小,当然你可以 来避免自动调整可能会发生卡顿的情况

// Set max Tweeners to 3000 and max Sequences to 200(设置最大Tweeners为300,最大FPS为200)DOTween.SetTweensCapacity(3000, 200);

在任何时候你想 在tween完成时清除DOTween的cache,你可以调用 DOTween.Clear(),它会kill所有的tweens并释放所有的缓存.

六、Recycling tween(回收Tween)

你不需要手动回收 tween,相反你可以选择自动 或

不过,在任何时间你都可以 改变

转载于:https://www.cnblogs.com/zhaoqingqing/p/3961543.html

你可能感兴趣的文章
FIR.im:iOS 8.1.3 “各路助手挺尸”、“封杀一切助手”的背后
查看>>
我的友情链接
查看>>
找出一个数组中唯一没有成对出现的两个数
查看>>
Ajax (部分一)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...
查看>>
web缓存技术
查看>>
集合知识点
查看>>
Linux快捷键
查看>>
文档对象模型DOM
查看>>
2019北京国际康复及个人健康博览会将在中国国际展览中心举办
查看>>
JVM——类加载机制(一)
查看>>
超清晰的 DNS 原理入门指南 (资源)
查看>>
大神笔记
查看>>
spring cloud构建java b2b2c 电子商务云商平台
查看>>
阿里顶级Java架构师,教你这样手写Spring!
查看>>
android课程表控件、悬浮窗、Todo应用、MVP框架、Kotlin完整项目源码
查看>>
CLOB字段在java中操作
查看>>
磁盘清理
查看>>
javascript 判断数据类型 判空
查看>>
matplotlib 中文字体问题
查看>>
protobuf v3测试
查看>>