Unity开发——DoTween 方法和队列动画

项目中经常用到物体移动,旋转,控制等已经自己来代码实现,代码制作动画也可以使用Dotween来实现。

Dotween提供了很多方法可以使用:

using UnityEngine;  
using System.Collections;  
using DG.Tweening;  
using UnityEngine.UI;  
  
  
public class TestDoTween : MonoBehaviour {  
  
    int number = 0;  
    // Use this for initialization  
    void Start ()  
    {  
        //FunctionOne();  
        //FunctionTwo();  
        //FunctionSequence();  
        FunctionSet();  
    }  
  
    // 创建 DOTween 实例 方法  
    #region 方法一 类方法  
    private void FunctionOne()  
    {  
        // 创建一个 Tweener 是自身坐标 一秒内 移动到  坐标 Vector3(5, 5, 5) 位置  
        Tween tween = DOTween.To(() => transform.position, r => transform.position = r, new Vector3(5, 5, 5), 1);  
  
        // 创建一个 Tweener 对象, 另 number的值在 5 秒内变化到 100  
        Tween t = DOTween.To(() => number, x => number = x, 100, 5);  
        // 给执行 t 变化时,每帧回调一次 UpdateTween 方法  
        t.OnUpdate( () => UpdateTween(number));    
    }  
  
    private void UpdateTween(int num)  
    {  
        Debug.Log(num);      // 变化过程中, 每帧回调该方法  
    }  
 
    #endregion  
 
    #region 方法二  直接调用  
  
    private void FunctionTwo()  
    {  
        //十秒内X,Y,Z 局部坐标(localPosition)移动到  10,10,10 位置  
        //transform.DOBlendableLocalMoveBy(new Vector3(10, 10, 10), 10);  
  
        //十秒内 X,Y,Z 方向的局部旋转(localPosition),转动到 30,30,30  
        //transform.DOBlendableLocalRotateBy(new Vector3(30, 30, 30), 10);  
  
        //十秒内X,Y,Z坐标移动到 自身坐标 加 new Vector3( 10,10,10) 位置 原始 坐标 3,3,3,移动后 13,13,13  
        //transform.DOBlendableMoveBy(new Vector3(10, 10, 10), 10);  
  
        //十秒内X,Y,Z自身旋转到 30,30,30(有父物体的相对于父物体)  
        //transform.DOBlendableRotateBy(new Vector3(30, 30, 30), 10);  
  
        //十秒内 自身X,Y,Z方向的比例 加 3,3,3如原始比例 2,1,1 变化后5,4,4  
        //transform.DOBlendableScaleBy(new Vector3(10, 10, 10), 10);  
  
        //执行该方法,变化立即结束,且完成移动  
        //transform.DOComplete();  
  
        //在变化过程中执行该方法,则物体慢慢的变回原样,如果变化已经完成,该方法无效  
        //transform.DOFlip();  
  
        // 变化过程中执行该方法,则物体变化到 第二秒 时该物体的位置、比例等  
        //transform.DOGoto(2);  
  
        //十秒内 弹跳 3次  
        //transform.DOJump(new Vector3(10, 10, 10), 3, 10);  
  
        //停止掉当前的变化  
        //transform.DOKill();  
  
        // 十秒内 弹跳 3次, 局部坐标最终变化为  10, 0, 10  
        //transform.DOLocalJump(new Vector3(10, 10, 10), 3, 10);  
  
        // 5 秒内, 局部坐标变化到  10,10,10  
        //transform.DOLocalMove(new Vector3(10, 10, 10), 5);  
  
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值