• DOTween文档


    前言

    DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会更新。

    DoTween:0.8.2.00

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

    更新于2016-06

    更新于:2016-06-25

    不知不觉此文过去2年了,DoTween新版本已到:1.1.310

    版本记录:http://dotween.demigiant.com/download.php 点击 Old versions and Changelog 查看版本历史

    DoTween UnityUI

    Dotween已为新的GUI系统做好准备,包括CanvasGroup,Graphic,Image,LayoutElement,Outline,RectTransform,ScrollRect,Slider,Text。

    利用它你肯定可以定制出强大的动画系统。

    Dotween TextMesh Pro/2D Tookit

    Dotween同样为2D Tookit的Tk2dBaseSprite,tk2dSliceSprite等做好准备

    Dotween同样为TextMeshPro+TextMeshProUGUI做好准备,包括DOFontSize,DOText,DOFaceFade等

    Dotween 路径动画

    dotwwen pro包含路径动画,路径可视化编辑,强大的属性面板

    Dotween Pro :https://www.assetstore.unity3d.com/en/#!/content/32416

    Dotween Free:https://www.assetstore.unity3d.com/en/#!/content/27676

    一、术语

    Tweener

    一个tween控制value和animates

    Sequence

    一个特殊的tween,并不是控制value,和其它的tween一起成为一个动画组

    Tween

    一个普通词,既可以表示  Tweener 也可以表示 序列

    Nested tween

    一个tween,包含序列

    DoTween前缀

    前缀在智能感知里是非常重要的,所以尽可能要记住这些:

    DO  前缀是所有的tween的快捷方式(可以直接操作已知 object,比如transform或material),也是DOTween 类主要的前缀

    transform.DOMoveX(100, 1);
    transform.DORestart();
    DOTween.Play();

    Set   前缀,所有的tween设置

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

    On   前缀, 所有的tween回调

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

    二、DOTween.Init

    当你第一次创建 tween,DOTween将会使用默认值自动初始化。

    如果你喜欢自己初始化(推荐),在创建任何tween之前(创建之后将不会有任何效果),调用这些方法一次。

    想想看,你可以使用DOTween的 global settting 改变所有的初始化设置。

    或者,你可以 通过链 SetCapacity 初始化方法,它可以设置 Tweeners最大值/FPS的初始容量(在高版本中可以调用 DOTween.SetTweensCapacity)

    static DOTween.Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = default)

    比如:

    DOTween.Init(true, true, LogBehaviour.Verbose).SetCapacity(200, 10);

    三、Creating a Tweener

    Tweener好似为DOTween工作的一只蚂蚁,它采用 属性/字段对给定值进行动画处理。

    截止目前 DOTween可以处理这些类型的值:

    float,int,uint,Vector2/3/4,Quaternion,Rect,RectOffset,string

    有三种方式创建 Tweener

    A.便捷方式

    DOTween包括一些已知的unity object,比如 Transform,Rigidbody和Material,你可以直接对这些object进行tween(这也会自动设置对象自己为target)比如:

    transform.DOMove(new Vector3(2,3,4), 1);
    rigidbody.DOMove(new Vector3(2,3,4), 1);
    material.DOColor(Color.green, 1);

    所有这些快速方式也有From,除了特殊说明,只需在方法名称后添加From

    transform.DOMoveFrom(new Vector3(2,3,4), 1);
    rigidbody.DOMoveFrom(new Vector3(2,3,4), 1);
    material.DOColorFrom(Color.green, 1);

    Camera

    DOColor(Color to, float duration)
    DOShakePosition(float duration, float strength, int vibrato, float randomness)
    DOShakeRotation(float duration, float strength, int vibrato, float randomness)
    

    Light

    Material

    Rigidbody

    Move

    SpriteRenderer

    详细的文档请参考官方:http://dotween.demigiant.com/documentation.php

    Transform

    Move

    DOMove(Vector3 to, float duration, bool snapping)
    DOMoveX/DOMoveY/DOMoveZ(float to, float duration, bool snapping)
    DOLocalMove(Vector3 to, float duration, bool snapping)
    DOLocalMoveX/DOLocalMoveY/DOLocalMoveZ(float to, float duration, bool snapping)

    Rotate

    DORotate(Vector3 to, float duration, bool useShortest360Route = true)
    DOLocalRotate(Vector3 to, float duration, bool useShortest360Route = true)
    DOLocalAxisRotate(Vector3 to, float duration)

    Scale

    DOScale(Vector3 to, float duration)
    DOScaleX/DOScaleY/DOScaleZ(float to, float duration)

    Punch – no FROM

    DOPunchPosition(Vector3 punch, float duration, int vibrato, float elasticity, bool snapping)
    DOPunchRotation(Vector3 punch, float duration, int vibrato, float elasticity)
    DOPunchScale(Vector3 punch, float duration, int vibrato, float elasticity)

    Shake – no FROM

    DOShakePosition(Vector3 punch, float duration, float strength, int vibrato, float randomness, bool snapping)
    DOShakeRotation(Vector3 punch, float duration, int vibrato, float elasticity)
    DOShakeScale(Vector3 punch, float duration, int vibrato, float elasticity)

    WaitFor coroutines

    WaitForCompletion()
    WaitForElapsedLoops(int elapsedLoops)
    WaitForKill()
    WaitForPosition(float position)
    WaitForStart()

    官方英文API

    后面大多比较简单就不再一一翻译了,附上官方英文文档:http://dotween.demigiant.com/documentation.php

  • 相关阅读:
    Axure高保真开关交互效果
    Axure工具栏展开关闭交互效果
    Axure跑马灯交互效果
    for循环实现百钱买百鸡的问题: 公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法?
    git的几种撤销提交方式
    react父子组件之间传值
    pm2 常用命令
    Dva.js 入门级教学文档-2
    Dva.js 入门级教学文档-1
    深入理解call函数
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/3962424.html
Copyright © 2020-2023  润新知