Unity 简化开发 DOTween

看下DOTween和iTween的简单对比
eg:
在iTween中,设置物体移动到位置
iTween.MoveTo(gameObject, iTween.Hash(
“position”, valueTo,
)
);
在DOTween中,设置物体移动到位置
gameObject.transform.DOMove(position,duration )

   SO,DOTween是更简单的链式结构

在插件中
On**表示事件
Do**表示你要执行的操作
Set**是对操作属性的额外设置

介绍下常用的设置
1、动画正反播放【PlayForward、PlayBackwards】
Tweener tweener ;
tweener =***叽里呱啦的(链式结构,想了解可以去看设计模式”责任链模式”)*
tweener.SetAutoKill(false);//务必设置别宰了他,不然我们的动画就没啦
tweener.Pause();//暂停它
tweener.PlayForward();//正播

2、实现回调【OnComplete】
.OnComplete(()=> { Debug.Log(“回调”); })

3、设置动画方式,正弦啊、余弦啊。。【SetEase】枚举F12自己看
SetEase(Ease.Linear)//线性的

4、循环【SetLoops】
SetLoops(-1)//(-1)无限循环

下面简单的介绍下常用的DoMove、DoRotate、DoFade
万般滋味自己体会,可以试试,有很多东西动手才可以

这里写代码片
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class DoTest : MonoBehaviour {

    [SerializeField]
    Transform target0;
    [SerializeField]
    Transform target1;
    [SerializeField]
    Transform target2;

    Tweener tweener;

    void Start () {
        DoMove_();
        DoFade_();
        DoRotate_();
    }
    void DoMove_()
    {
        Vector3 endPosition=new Vector3 (10,0,0);
        float duration=3;
        tweener = target0.DOMove(endPosition,duration).SetEase(Ease.Linear).OnComplete(()=> { Debug.Log("事件触发"); });
        tweener.SetAutoKill(false);
        tweener.Pause();
    }
    void DoRotate_()
    {
        Vector3 endValue = new Vector3(0, 0, 360);
        float duration = 1;
        //实现无限循环
        tweener = target1.DORotate(endValue, duration, RotateMode.WorldAxisAdd).SetLoops(-1).SetEase(Ease.Linear);
        //tweener = target1.DORotate(endValue, duration, RotateMode.WorldAxisAdd).OnComplete(DoRotate_).SetEase(Ease.Linear);
        tweener.SetAutoKill(false);
        tweener.Pause();
    }
    void DoFade_()
    {
        tweener = target2.GetComponent<Image>().DOFade(0, 1).SetAutoKill(false).OnPause(() => { Debug.Log("暂停执行"); });
        tweener.Pause();
        tweener.OnPlay(() => { Debug.Log("重新开始执行"); });
    }
    void Update()
    {
        //实现正、反播放
        //默认播放可用  tweener.Play();
        if (Input.GetMouseButton(0))
        {
            tweener.PlayBackwards();
        }
        else
        {
            tweener.PlayForward();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值