Unity中DoTween使用

本文详细介绍了Unity引擎中DoTween库的使用,包括如何创建平滑动画效果、控制动画时间、设置循环和延迟等功能,帮助开发者提升游戏场景和UI的交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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个

红包金额最低5元

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

抵扣说明:

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

余额充值