术语

Tweener 控制值并对值进行动画

Sequence 特殊的Tweener控制其他的Tweens,并将它们作为一个组进行动画。

Tween 既表示一个Tweener,也表示一个Sequence。

Nested Tween 包含在Sequence中的嵌套tween

准备工作

"Tools/Demigiant" menu打开Dotween Utility Panel,点击Setup DoTween

在你想要使用DoTween代码的脚本中引入命名空间

using DG.Tweening;

默认的运动方式

主要表现是开始执行时,快速,在后期会逐步减速。该算法在执行时间长度比较短时看着比较合理舒适,但是如果出现类似距离较长,时间也相对较长时,就容易发现在后期有点很不好接受的缓慢移动。此时就需要考虑更改运动方式。

transform.DOMoveX(4, 1).SetEase(Ease.InOutQuint);
transform.DOMoveX(4, 1).SetEase(myAnimationCurve);
transform.DOMoveX(4, 1).SetEase(MyEaseFunction);

1、实现简单移动

transform.DOMove(new Vector3(2,3,4), 1);

调用后1秒移动到点(2,3,4),函数返回一个tweener

tweener可以通过一些带set前缀的方法进行设置

myTween.SetLoops(4, LoopType.Yoyo).SetSpeedBased();

通过带on前缀的方法绑定回调函数

myTween.OnStart(myStartFunction).OnComplete(myCompleteFunction);

如果回调函数要带参数可以使用lambda表达式

transform.DOMoveX(4, 1).OnComplete(()=>MyCallback(someParam, someOtherParam));

2、实现整体缩放的同时进行1秒后移动之后再旋转

Sequence mySequence = DOTween.Sequence();

返回可用的序列

mySequence.Append(transform.DOMoveX(45, 1));
mySequence.Append(transform.DORotate(new Vector3(0,180,0), 1));

使用Append将指定的Tweener加入到Sequence的结尾

mySequence.PrependInterval(1);

PrependInterval将一段时间加入到Sequence的开头

而使用Prepend可以将Tweener加入到Sequence的开头,

mySequence.Prepend(transform.DOMoveX(45, 1));
mySequence.Insert(0, transform.DOScale(new Vector3(3,3,3), mySequence.Duration()));

使用Insert可以重叠Tweener

以上代码也可写成

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()));

DOTWEEN :: An error inside a tween callback was silently taken care of > The object of type

这个错误是以警告的方式提示你的,想要定位错误的地点可以在DoTween在面板中关闭安全模式

http://forum.demigiant.com/index.php?topic=151.0

DOTween插件学习笔记相关推荐

  1. Gradle插件学习笔记(二)

    之前介绍了Gradle插件的开发,这次会对功能进行一部分拓展,建议没有读过第一篇文章的朋友,先看一下Gradle插件学习笔记(一) Extension 之前的文章提到过,如何编写一个插件,但是并不能通 ...

  2. Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换 *版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插 ...

  3. Unity Cinemachine插件学习笔记

    以下都是转载内容,能够比较直观的学习一些基础内容.现在的Cinemachine更新了许多新的功能,但是Cinemachine插件都ExamplesScences,去看一下官方例子和文档来学习更佳 *版 ...

  4. Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画

    Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画 *版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 [Unity] ...

  5. JavaScript 封装插件学习笔记(一)

    此篇只是笔记,在借鉴.参考.模仿的过程,可能不完整,请多指教! 定义插件名称要注意命名冲突,防止全局污染. 1.第一种Javascript对象命名:(Javascript语言是"先解析,后运 ...

  6. Spring、SpringMVC、SpringBoot及其插件学习笔记集合(持续更新中....)

    笔记目录 语言 1.MyBatis 1.1 普通用法 1.1.1 配置文件 1.1.2 mapper文件 1.2 通用mapper文件 2.Thymeleaf 2.1 命名空间 2.2 依赖 2.3 ...

  7. IntelliJ IDEA 2016.3.1 学习git 码云插件 学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> File-Settings 搜索不到的话去这里下载https://plugins.jetbrains.com/idea/plu ...

  8. QT自定义控件插件学习笔记

    本文主要阐述的是自定义控件插件的创建与调用方法和注意事项点. 目录 一.创建自定义控件插件 1.Qt Designer专用接口 2.插件的自定义控件类接口 二.调用自定义控件插件 1.动态调用插件 2 ...

  9. Cinemachine学习笔记

    以下都是转载内容,能够比较直观的学习一些基础内容.现在的Cinemachine更新了许多新的功能,但是Cinemachine插件都ExamplesScences,去看一下官方例子和文档来学习更佳 *版 ...

最新文章

  1. 记一次修复被篡改的IE首页
  2. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]
  3. c语言scanf()函数的原理
  4. PMCAFF招兵啦~只要最骚最浪的你~
  5. iCOM组件(iComponent,应用或学习组件)
  6. 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
  7. 各种编译环境中如何为C++添加命令行参数(Command-line parameter)
  8. 安装win7和XP双系统的注意事项
  9. MAC编译:fatal error: ‘endian.h‘ file not found
  10. 系分 01 企业信息化战略与实施
  11. 逆流而上的你,送给现在的你
  12. 数论基本定理和欧拉广义降幂公式
  13. 盛迈坤电商:电商运营要怎么样进行选款
  14. 彻底卸载Tomcat
  15. spark大数据分析:spark Struct Strreaming(21) 数据流处理
  16. 年终思路梳理(三)——工业互联网
  17. 计算思维应用于计算机学科,【计算机教学论文】计算机教学中的计算思维培养(共2667字)...
  18. 升级到Android12后Termux不能访问Android/data目录该怎么办
  19. Python零基础之自动登录12306
  20. 每日加瓦,终成栋房5-正则表达式

热门文章

  1. CSS实现赛博朋克风格按钮
  2. 御龙在天登录服务器未响应,御龙在天手游进不去怎么办 进不去原因及解决
  3. webview 硬件加速问题
  4. 个人宿舍计算机的上网设置
  5. MS coco数据集下载
  6. 矩阵论代码实践之LULDV分解
  7. 2021年北京市传统工艺美术保护发展资金储备项目申报奖励及条件,300万
  8. 杀毒软件背后的黑幕-如此杀毒!!!
  9. postgreSQL 的generate_series函数
  10. 铁路客户服务中心-在线购票网址