zoukankan      html  css  js  c++  java
  • DoTween(HOTween V2) 教程

    DoTween资料

    logo_dotween_header

    官方网站:http://dotween.demigiant.com/

    下载地址:http://dotween.demigiant.com/download.php

    快速开始:http://dotween.demigiant.com/getstarted.php

    官方文档:http://dotween.demigiant.com/documentation.php

    一、准备工作

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

    image

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

    using DG.Tweening;

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

    DOTween.Init(autoKillMode, useSafeMode, logBehaviour);

    如果你不这样做(或在你创建第一个Tween之后)DOTween将自动初始化为默认值,但你仍然可以改变它们

    二、使用方法

    DOTween可以使用 完全通用的方法,像这样

    splash_lambda

    你也可以使用 便捷的方法,像这样

    splash_shortcuts

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

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

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


    直接的tween引用

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


    或更多方式

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

    三、Global或特定设置

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

    全局设置

    全局设置 允许你设置默认 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 Tween
    Tween 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时它会自动播放(除非你设置了全局的 defaultAutoPlay 行为)直到完成循环

    当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,相反你可以选择自动 回收所有的回收特定的

    不过,在任何时间你都可以 改变 Tweener的 start和end values

  • 相关阅读:
    Atitit 经济学常见的流派 古典主义与凯恩斯主义
    Atitit 学习方法 体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
    atiitt it学科体系化 体系树与知识点概念大总结.xlsx
    Atitit 减少财政支出普通人如何蹭政府补贴措施 attilax大总结.docx
    Atitit 信用管理概论 attilax学习心得
    Atitit.月度计划日程表 每月流程表v5
    Atitit 企业6大职能 attilax总结
    Atitit 常见每日流程日程日常工作.docx v8 ver ampm imp 签到 am y 天气情况检查 am y 晨会,每天或者隔天 am 每日计划(项目计划,日计划等。 am
    Atitit 财政赤字解决方案
    Atitit 建设自己的财政体系 attilax总结 1.1. 收入理论 2 1.2. 收入分类 2 1.3. 2 1.4. 非货币收入 2 1.5. 2 1.6. 降低期望 2 1.7.
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/3961543.html
Copyright © 2011-2022 走看看