博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DoTween学习笔记(一)
阅读量:4557 次
发布时间:2019-06-08

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

DOTween是一个快速,高效,完全统一的类型安全的对象属性动画引擎,免费开源,大量的高级特性.

DoTween兼容Unity4.5以上的版本,支持的平台: Win, Mac, Unity WebPlayer, WebGL, iOS, Android,Windows Phone 8, Windows Store, PS Vita (PSM), PS4,Xbox One平台,

(下载之后放入Plugins文件夹,引入DG.Tweening命名空间就可以使用了)

官网地址:

下载地址:   访问密码 07ec

特性:

  1. 速度和效率: 不仅非常快,而且非常有效:一切都是缓存和重用,避免无用的GC分配。
  2. 快捷: 使用扩展方法扩展公共对象用户方便编写代码如下
    // Move a transform to position 1,2,3 in 1 secondtransform.DOMove(new Vector3(1,2,3), 1);// Scale the Y of a transform to 3 in 1 secondtransform.DOScaleY(3, 1);// Pause a transform's tweentransform.DOPause();
几乎支持任何动画: 支持属性数字,非数字, 字符串和富文本动画展现 还有很多我就不一一介绍了

 

简单移动Cube到达目的地:

public Transform cube;    // Use this for initialization    void Start () {        //向0,4,0的位置移动过去        cube.DOMove(new Vector3(0,4,0), 2);                            //从0,4,0的位置移动过来        cube.DOMove (new Vector3 (0, 4, 0), 2).From();        //向0,4,0的位置来回移动        cube.DOMove (new Vector3 (0, 4, 0), 2).SetRelative().SetLoops(-1,LoopType.Yoyo);            //另一种写法        DOTween.To(()=> cube.position, x=> cube.position = x, new Vector3(0, 4, 0), 1).SetRelative().SetLoops(-1, LoopType.Yoyo);    }

移动,旋转,缩放:

//向上移动4个单位cube.transform.DOBlendableMoveBy (new Vector3 (0, 4, 0), 2);//自身坐标向上移动4个单位cube.transform.DOBlendableLocalMoveBy (new Vector3 (0, 4, 0), 2);//旋转cube.transform.DOBlendableRotateBy(new Vector3(0, 180, 0), 2).SetLoops(-1,LoopType.Yoyo);//本地坐标系转换30度cube.transform.DOBlendableLocalRotateBy(new Vector3(0, 180, 0), 2).SetLoops(-1,LoopType.Yoyo);

//开始值(1,1,1) 5秒内增加到 (3,3,3)

cube.transform.DOBlendableScaleBy(new Vector3(2, 2, 2), 5);

跳跃,冲压机

DOJump(new Vector3(5, 0, 0), 5, 1,5); 假设cube坐标(0,0,0)最终跳跃到(5,0,0)位置,跳跃的中间最高度是5,跳跃1次,5秒完成
DOPunchPosition(new Vector3(10, 10, 10), 5); 在 5 秒内在原始坐标和下面坐标之间,来回冲压
DOPunchRotation(new Vector3(50, 50, 50), 5); 在 5 秒内在原始旋转和下面角度之间,来回冲压变化
DOPunchScale(new Vector3(5, 5, 5), 5); 在 5 秒内在原始比例和下面比例之间,来回冲压变化

控制Itween方法:

DOComplete();    执行该方法,变化立即结束,且完成移动
DOFlip();    在变化过程中执行该方法,则物体慢慢的变回原样,如果变化已经完成,该方法无效
DOGoto(2); 变化过程中执行该方法,则物体变化到 第二秒 时该物体的位置、比例等
DOKill(); 停止掉当前的变化
DOPlayBackwards(); 播放结束之前,让物体倒序运动到原位
DOPlayForward(); 播放结束之前,让物体继续运动到目标位置
DORestart();    在变化结束之前,执行该方法,则重新开始变化
DORewind(); 变化过程中执行该方法,回到原始
DOPause(); 停止
DOPlay(); 开始

转载于:https://www.cnblogs.com/plateFace/p/4722712.html

你可能感兴趣的文章
php:对象(object)数据类型实例详解
查看>>
关于java环境变量配置Javac命令无效问题
查看>>
常用的正则表达式
查看>>
Spring Boot使用@Async实现异步调用
查看>>
LeetCode 79. 单词搜索(Word Search)
查看>>
MySQL 多列索引优化小记
查看>>
J2SE核心开发实战(一)——认识J2SE
查看>>
gdbserver 远程调试问题:设置文件和so搜索路径
查看>>
SDK Build Tools revision (19.0.3) is too low for project Minimum required is 19.1.0
查看>>
推荐一个免费在线制作Banner的好地方
查看>>
javascript——select 标签的使用
查看>>
Python学习日志_2017/09/08
查看>>
《Python学习之路 -- Python基础之迭代器及for循环工作原理》
查看>>
struts2注解方式的验证
查看>>
CS 和 BS 的区别和优缺点
查看>>
(三)配置本地YUM源
查看>>
【LeetCode & 剑指offer刷题】数组题17:Increasing Triplet Subsequence
查看>>
【MySQL】ERROR 1045 (28000): Access denied for user的解决方法
查看>>
centos安装mysql57
查看>>
HDU 2002 计算球体积
查看>>