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
【Unity3D】DoTween的用法
最新推荐文章于 2025-09-09 13:32:53 发布
本文详细介绍了Unity3D中DOTween动画库的使用,包括坐标、旋转、缩放等多种属性的动画效果,以及序列化、回调函数和循环类型等高级特性。通过实例代码展示了如何创建和控制动画,如移动、旋转、颜色变化等,适用于游戏开发和UI交互中的动画需求。

最低0.47元/天 解锁文章
4939

被折叠的 条评论
为什么被折叠?



