当前位置:   article > 正文

【Dotween的详细使用方法】_dotween 用法

dotween 用法

Dotween常用方法

tranform.DOMove(x,2).From();//物体从终点运动到起始点  如果终点和起始点位置一致不改变什么
tranform.DOMove(x,2).From(true);//物体从终点运动到起始点增量运动  

tranform.DOMove(x,2).SetDelay(3);//动画延时3秒后执行

tranform.DOMove(x,2).SetSpeedBased();//2不是时间变为速度 物体沿着x方向运动2的速度  

tranform.DOMove(x,2).Set ID("ID");//给这个Dotween设置一个ID可以在别处调用在执行
Dotween.Play("ID");//调用我们刚刚设置的dotween的id动画

tranform.DOMove(x,2).SetRelative(true);//物体做增量运动

tranform.DOMove(x,2).SetUpdate(UpdateType.Normal,true);//设置为True不受unity的time影响

tranform.DOMove(x,2).SetEase(Ease.Flash,3,0)//在起始点到终点来回运动  0是不变  大于0是和球落下感觉  小于0是和大于0相反
只有在设置Flash InFlash OutFlash InOutFlash才能起作用
 
 public AnimationCurve cure;//unity组件的
 tranform.DOMove(x,2).SetEase(cure);//运动曲线自己可以调整
 
 
 tranform.DOMove(x,2).Oncomplete();//动画播放完执行
 tranform.DOMove(x,2).Onkill();//动画被杀死执行
 tranform.DOMove(x,2).OnPlay();//动画开始执行
 tranform.DOMove(x,2).OnPause();//动画暂停执行
 tranform.DOMove(x,2).OnStart();//动画第一次播放执行
tranform.DOMove(x,2).OnStepComplete();//动画设置运动多次的时候 每次运动一个周期执行
tranform.DOMove(x,2).OnRewind();//动画在重新播放的时候调用

  
tranform.DOPlay();//动画播放
tranform.DOPause();//动画暂停
tranform.DORestart();//动画重新播放
tranform.DORewind();//杀死动画 动画开始倒播 瞬间回到起点
tranform.DOSmoothRewind();//杀死动画 平滑的运动到起点
tranform.DOKill();//杀死动画  
tranform.DOFlip();//动画翻转过来 把始点变为终点
tranform.DOGoto(1,true);//跳转到时间点  2是否继续播放
tranform.DOPlayBackwards();//动画反向播放
tranform.DOPlayForward();//动画正向播放
tranform.DOTogglePause();//动画是暂停就是播放  在播放就是暂停

var list=Dotween.PaisedTweens();//获取当前所有暂停的动画
var list=Dotween.PlayingTweens();//获取当前所有播放的动画
var list=Dotween.TweensByid("ID",true);//获取"ID"所有播放的动画  2如果是true 获取当前在播放的播放动画
var list=Dotween.TweensByTarget(transform,true);//获取Object(tranform)下所有缓存动画   2如果是true 获取当前在播放的播放动画
var list=Dotween.IsTweening("ID",true);//获取"ID"所有播放的动画  2如果是true 获取当前在播放的播放动画
var list=Dotween.TotalplayingTweens();//获取当前所有动画播放的数组


var tweener= tranform.DOMove(x,2);
1 DeBug.log(tweener.fullPosition);//当前动画的执行时间
 tweener.fullPosition=0;//控制动画从0秒时候开始播放
2 DeBug.log(tweener.CompletedLoops());//动画完成的循环次数
3  tweener.Delay();
4  tweener.Elapsed();//获取当前已经播放的时间
5 tweener.ElapsedDirectionalPercentage();//获取当前运行进度总里程的的百分比 起始点到终点
6 tweener.ElapsedPercentage(true);//true 总里程的百分比 flase和上面5的结果一样
7 tweener.IsActive();//判断当前动画是否在活动
8 tweener.isBackwards();//判断当前动画是否是反向的
9 tweener.IsCompLete();//判断当前动画是否已经完成
10 tweener.IsInitialized();//判断当前动画是否初始化
11 tweener.Isplaying();//判断当前动画是否播放
12 tweener.IsLoop();//获取动画循环次数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64

其他用法

1 Dotween携程

 private Tween _tweeber;
    private void Awake()
    {
        _tweeber = transform.DOMove(Vector3.one, 1).SetLoops(3);
        StartCoroutine(Wait());
    }
    private IEnumerator Wait()
    {
        yield return _tweeber.WaitForCompletion();//等待_tweeber动画播放完才会执行下面逻辑
        yield return _tweeber.WaitForElapsedLoops(2);//当_tweeber动画执行两次之后执行下面逻辑
        yield return _tweeber.WaitForKill();//等待动画被杀死的时候
        yield return _tweeber.WaitForPosition(2f);//等待动画执行2秒后执行

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2 Dotween路径动画

public Transform[] PointList;//设置寻路的路径
    private void Awake()
    {
        var positions = PointList.Select(u => u.position).ToArray();//将pointlist的position赋值                                                                                                                                                                                                    
        transform.DOPath(positions,5,PathType.CatmullRom,PathMode.Full3D,50,Color.black)
            .SetOptions(true,AxisConstraint.None,AxisConstraint.X)
            .SetLookAt(0);
        //1 寻路的点的position数组
        //2 一共需要的时间
        //3 路径之间的连线 Linear是直线 CatmullRom是曲线
        //4 物体的看向 Ignore不设置 Full3D上下左右 TopDown2D上下  Sidescroller2D左右
        //5 路径的精度 
        //6 路径的颜色

        //SetOptions
        //1 路径是否是封闭区间
        //2 AxisConstraint锁定那个轴 不会在哪个轴运动
        //3 AxisConstraint锁定那个轴 不会朝那个轴看

        //SetLookAt
        //1 new Vector3(0,0,0) 看向某一个固定的位置 
        //Float值的话 相对路径的角度方向 180*float
        //2  
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

3 队列

void  DotweenVoid()
{
Sequence quence=DOTween.Sequence();//创建一个队列
quence.Append(tranform.DOMove(x,2)));//添加一个运动动画 0到2秒
quence.AppendInterval(1);//添加延时一秒   2到3秒

quence.Append(tranform.DOMove(x,2)));//添加一个运动动画  3到5秒
quence.AppendCallback(InsertCallback);//在上一个队列执行完成的回调

quence.Join(tranform.DOScale(x,2));//加入到上一个的quence的动画一起执行

quence.Insert(1,tranform.DOMove()));//添加一个运动动画 在quence对列1秒后 加入一个动画

quence.InsertCallBack(2f,InsertCallback);//quence队列在执行2秒后执行InsertCallback方法
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4 Blend 用法

1 DoBlendableMoveBy(,)//往一个反向增量运动
旋转和其他都一样

5 相机

当前相机显示的宽高比值 第一个参数=相机的宽/高
Camera.DOAspect(1f,2)

当前相机的显示在屏幕多大 第一个是分给的像素
Camera.DOPixelRcet(new Rect(0,0,320,320),2)

6 Text

字体的动画显示出来
Text.DOText(“asdasgfasg”,5)

7 使用自定义曲线

自己修改运动曲线 time是当前运动时间 duration是持续时间 3是振幅次数
下面是匀速运动
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/89849
推荐阅读
  

闽ICP备14008679号