一.简单的变量插值运算

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; public class GetStart : MonoBehaviour
{
public Vector3 myValue = Vector3.zero;
void Start()
{
//对变量做动画,通过插值去修改值的变化
//变量由0 0 0变化到10 10 10,变化曲线一阶导为正,二阶导为负(即一直增大,增大的速度先快后慢)
//参数:返回myValue值,将x(插值运算的中间值)赋值给myValue,插值运算的最终结果,插值运算的时间
DOTween.To(() => myValue,x => myValue = x, new Vector3(10, 10, 10), 2);
} }

导包using DG.Tweening;,使用DOTween.To方法进行动画的插值运算

二.简单的动画效果

    private void Update()
{
//每一帧的立方体的位置和插值运算的结果保持一致
cubeTransform.position = myValue;
}

公开一个transform,新建一个立方体拖动到脚本上赋值,在update函数中使每一帧的立方体的位置和插值运算结果保持一致

三.动画的快捷播放方式

    public RectTransform panelTransform;
public bool isIn = false;
public void OnClick()
{
if (!isIn)
{
//对transform的拓展方法,实现物体的移动
//参数:移动的目标位置,移动的时间
//panelTransform.DOMove(Vector3.zero, 1);
Tweener tweener = panelTransform.DOLocalMove(Vector3.zero, 1f);//默认动画会被销毁
//动画的对象为Tweener类型的对象,接收这个对象,并将自动销毁的属性设置为false
tweener.SetAutoKill(false); isIn = true;
}
else
{
//动画未销毁则可以倒放动画
panelTransform.DOPlayBackwards(); isIn = false;
} }

通过拓展Unity原来API中的类的方法实现动画的快捷播放,这里将panel从屏幕外移动到屏幕中央,两个动画播放方法分别对应世界坐标和本地坐标

    public RectTransform panelTransform;
public bool isIn = false;
private void Start()
{
//在start里创建并保存一个动画
Tweener tweener = panelTransform.DOLocalMove(Vector3.zero, 1f);//默认动画会被销毁
tweener.SetAutoKill(false);
//暂停动画的播放
tweener.Pause();
}
public void OnClick()
{
if (!isIn)
{
//动画播放,DOPlay方法只会播放一次
//panelTransform.DOPlay();
//动画前放,DOPlayForward方法可以多次播放和回放动画
panelTransform.DOPlayForward();
isIn = true;
}
else
{
//倒放动画,DOPlayBackwards方法和DOPlayForward方法是一对方法
panelTransform.DOPlayBackwards(); isIn = false;
} }

可以现在start中创建好动画,再在合适的时候进行任意次的播放和倒放

四.from方法

通过在动画方法后点上from方法可以实现从目标位置到当前位置播放动画

    public RectTransform panelTransform;

    public void OnClick()
{
//不加from表示从当前位置运动到up位置,加上from表示从up位置运动到当前位置
//panelTransform.DOLocalMove(Vector3.up, 4).From();
//可以在from中添加一个bool值的参数,表示这个运动目标位置是否是相对位置,不填写默认为false也就是绝对位置
panelTransform.DOLocalMove(Vector3.up, 4).From(true);
}

五.动画的一些设置

动画创建后返回值为tweener对象,调整这个对象的参数即可对动画进行设置(前面已经设置过动画是否自动销毁)

        //设置动画曲线,Ease是枚举类型,枚举了内置的各种动画曲线
tweener.SetEase(Ease.InSine);
//设置动画播放的次数
tweener.SetLoops(2);
//设置动画完成后调用的方法,OnTweenComplete是动画结束后调用的方法的方法名,不用引号
tweener.OnComplete(OnTweenComplete);

六.可视化动画组件DOTween Animation

可以方便地管理动画类型、动画曲线和生命周期(Events)等

七.可视化路径编辑器组件DOTween Path

设置路径,控制游戏对象按照路径运动

DoTween动画插件学习的更多相关文章

  1. Unity3D_(插件)DOTween动画插件

    使用DOTween动画插件来实现物体的移动动画 Learn 一.DOTween插件对变量的动画 二.控制Cube和UI面板的动画 三.动画的快捷播放方式 四.动画的前放和后放 五.From Tween ...

  2. DoTween 动画插件简单示例

    .doTween的静态方法 DOTween.To(() => maskImage.color, toColor => maskImage.color = toColor, , , , ), ...

  3. #Plugin 数字滚动累加动画插件

    数字滚动累加动画插件  NumScroll 1.使用前先引入jquery2.前端学习群:814798690 下载地址 https://github.com/chaorenzeng/jquery.num ...

  4. velocity.js 动画插件

    1. velocity.js 插件介绍 Velocity 是独立于jQuery的,但两者可以结合使用的动画插件.用法类似 jq 的 animate ,但是支持更高级动画. ( 颜色动画.转换动画(tr ...

  5. 让网站动起来!12款优秀的 jQuery 动画插件推荐

    如今,大多数设计师和开发人员被要客户要求开发动态的网站.创造视觉震撼和醒目的动态网站是艰巨的任务,因为它需要大量的努力和创造力.在网络上有大量的工具和插件可用于创建网站动画.许多开发人员正在使用 HT ...

  6. uexQQ插件学习心得

    uexQQ插件学习心得 uexQQ插件的作用:通过qq可以分享图文,音乐,应用到相应的qq空间.支持手机客户端分享和手机webQQ分享.下面我们就来看一看他的一些方法. 我们先说一下分享的步骤,这个步 ...

  7. emmet插件学习,练习中遇到一些问题

    emmet插件学习:帮助提高敲代码效率的插件 参考文献:Emmet(Zen coding)HTML代码使用技巧七则http://www.wzsky.net/html/Website/htmlcss/1 ...

  8. Minimit Anima – 硬件加速的 CSS3 动画插件

    Minimit Anima 是一个实现 CSS3 Transforms 和 Transitions 动画的 jQuery 插件.基于硬件加速的 CSS3 动画执行更快,而且它有一个类似于 jQuery ...

  9. Velocity – 另外一款加速的 jQuery 动画插件

    Velocity 是一款 jQuery 插件,重新实现了 $.animate() 方法,提供更高的性能(比 CSS 动画还更快),同时包括一些新的功能,以改进动画工作流程.Velocity 除了包括所 ...

随机推荐

  1. Spark Streaming和Kafka整合是如何保证数据零丢失

    转载:https://www.iteblog.com/archives/1591.html 当我们正确地部署好Spark Streaming,我们就可以使用Spark Streaming提供的零数据丢 ...

  2. CentOS8设置网络镜像安装源

    CentOS8通过引导盘+网络镜像镜像源安装系统,设置网络镜像安装源为: mirrors.aliyun.com/centos/8/BaseOS/x86_64/os

  3. 风炫安全WEB安全学习第二十五节课 利用XSS键盘记录

    风炫安全WEB安全学习第二十五节课 利用XSS键盘记录 XSS键盘记录 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源.所以xyz.com下的js脚本采用a ...

  4. Java并发包源码学习系列:ReentrantLock可重入独占锁详解

    目录 基本用法介绍 继承体系 构造方法 state状态表示 获取锁 void lock()方法 NonfairSync FairSync 公平与非公平策略的差异 void lockInterrupti ...

  5. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  6. SpringBoot项目,如何优雅的把接口参数中的空白值替换为null值?

    问题发生 我们公司代码生成的时候,查询列表统一都是使用了setEntity() ,查询写法如下: public List<BasReservoirArea> selectList(BasR ...

  7. 【C++】《C++ Primer 》第四章

    第四章 表达式 一.基础 重载运算符:当运算符作用在类类型的运算对象时,用户可以自行定义其含义. 左值和右值: C中:左值可以在表达式左边,右值不能. C++中:当一个对象被用作右值的时候,用的是对象 ...

  8. 基于Docker搭建Hadoop+Hive

    为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...

  9. MySQL常用字符串函数和日期函数

    数据函数 SELECT ABS(-8); /*绝对值*/ SELECT CEILING(9.4); /*向上取整*/ SELECT FLOOR(9.4); /*向下取整*/ SELECT RAND() ...

  10. 【Web】CSS实现抖音风格字体效果(设置文本阴影)

    简单记录 -慕课网- 步骤一:抖音风格字体效果 案例:抖音风格的字体特效. 实现这个 需要设置 网页背景颜色 字体颜色 字体大小 文本阴影 重点介绍如何设置文本阴影 CSS的文本阴影text-shad ...