Unity游戏开发 DoTween集成

本文介绍了Unity游戏开发中如何集成并使用DoTween库,包括TweenUtil的链式编程封装以及TweenManager的管理功能。提供了下载链接、变化曲线效果参考和配置指南。通过TweenManager确保TweenUtil与预制件的唯一绑定,并给出了使用示例,演示了如何在游戏场景中执行和共享Tween效果。

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

下载地址:

http://dotween.demigiant.com/download.php

变化曲线效果参考:

http://robertpenner.com/easing/easing_demo.html

配置参考:

https://www.jianshu.com/p/252c18016b3f

封装:

TweenUtil (将Tween转换为链式编程)

using UnityEngine;
using DG.Tweening;
using System;
using UnityEngine.UI;

public class TweenUtil : MonoBehaviour
{
    private Tweener tempTweener = null;

    private Sequence tempSeq = null;

    private Transform tempTrans = null;

    /// <summary>
    /// 调用之前设置Transform
    /// </summary>
    public TweenUtil SetTransform(Transform trans)
    {
        Clear();
        tempTrans = trans;
        return this;
    }

    /// <summary>
    /// 设置循环次数
    /// </summary>
    public TweenUtil SetLoops(int count, int type)
    {
        if (tempSeq != null)
        {
            tempSeq.SetLoops(count, (LoopType)type);
        }
        else if (tempTweener != null)
        {
            tempTweener.SetLoops(count, (LoopType)type);
        }

        return this;
    }

    /// <summary>
    /// 设置缓冲类型
    /// </summary>
    public TweenUtil SetEase(int ease)
    {
        if (tempSeq != null)
        {
            tempSeq.SetEase((Ease)ease);
        }
        else if (tempTweener != null)
        {
            tempTweener.SetEase((Ease)ease);
        }

        return this;
    }

    /// <summary>
    /// 设置相对变化
    /// </summary>
    public TweenUtil SetRelative()
    {
        if (tempSeq != null)
        {
            tempSeq.SetRelative();
        }
        else if (tempTweener != null)
        {
            tempTweener.SetRelative();
        }

        return this;
    }

    /// <summary>
    /// 设置自动销毁
    /// </summary>
    public TweenUtil SetAutoKill(bool b)
    {
        if (tempSeq != null)
        {
            tempSeq.SetAutoKill(b);
        }
        else if (tempTweener != null)
        {
            tempTweener.SetAutoKill(b);
        }

        return this;
    }

    /// <summary>
    /// 设置延迟
    /// <summary>
    public TweenUtil SetDelay(float time)
    {
        if (tempSeq != null)
        {
            tempSeq.SetDelay(time);
        }
        else if (tempTweener != null)
        {
            tempTweener.SetDelay(time);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值