LeanTween 常用API

这篇博客详细介绍了Unity中两个常用的动画库——LeanTween和DOTween。通过示例代码展示了如何进行物体大小、旋转、位置移动和颜色变化等操作,并提到了动画的自定义、循环播放和委托回调等功能。同时,文中还提及了两者之间的相似性和在实际项目中的应用场景。

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

//感觉leantween和dotween 相似,不用解释了

public GameObject Cube ;

 public void 常用()
    {
       
        //物体本身大小
        LeanTween.scale(Cube, new Vector3(0, 0, 0), 0.5f);//3个参数1.变换的物体,2变化的大小,3.时间
        //物体旋转角度(自身角度)
        LeanTween.rotate(Cube, new Vector3(0, 0, 0), 0.5f);
        //相对于父物体的角度
        LeanTween.rotateLocal(Cube, new Vector3(0, 0, 0), 0.5f);
        //物体位置移动(自身角度)
        LeanTween.move(Cube, new Vector3(0, 0, 0), 0.5f);
        //相对于父物体的位置移动
        LeanTween.moveLocal(Cube, new Vector3(0, 0, 0), 0.5f);
        //颜色修改
        LeanTween.color(Cube, new Color(0,0,0,0), 0.5f);
        //UI颜色修改
        LeanTween.color(Cube.GetComponent<RectTransform>(), new Color(0, 0, 0, 0), 0.5f);

       //渐渐显示出来:首先就是设置Aptha到0,值是0--1
        Cube .DOFade(1,2);
    }

// 上面是我常用的,这个有关于test的,下面曾使用api的源自于:世界太疯狂 

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;  //加入头

public class TempDoTween : MonoBehaviour {
    public GameObject m_image;

    public Text m_text;

    public Camera m_camera;

    private bool isMoveOver;

    void Awake()
    {
    }

    void Start () {
        isMoveOver = false;
        //简单移动,每次调用Do就创建一个Tweener,所以最好不要每次都创建
        Tweener tweener = m_image.transform.DOLocalMove (new Vector3(100,200,0),2);
        //设置不自动销毁
        tweener.SetAutoKill (false);
        //设置动作曲线
        tweener.SetEase (Ease.InBounce);
        //回调
        tweener.OnComplete (MoveCallback); 
        //挂起动作
        tweener.Pause ();

        //文本(文字一个个显示出来)
//        m_text.text = "";  
//        m_text.DOText ("字一个个显示出来",2).OnComplete(delegate{
//            //颜色变化
//            m_text.DOColor(Color.red,2);
//        }); //可以显示富文本查看API
        //渐渐显示出来:首先就是设置Aptha到0,值是0--1
        m_text.DOFade(1,2);

        //队列
//        Sequence mySequence = DOTween.Sequence();
//        mySequence.Append ();
//        mySequence.AppendInterval ();
//        mySequence.AppendCallback ();

        //通过ID控制得到动作

        //直接在组件上添加DoTweenAnimation脚本就是可视化的动画组件,和上面一样用法
    
        //路径编辑DoPath -->添加这个组件可以编辑路径 shit+ctrl,注意点击屏幕添加的店是与摄像机垂直,可以对路径做圆滑设置path type
    }

    public void ClickBtn()
    {
        //播放身上的动作,注意播放完成就销毁了必须SetAutoKill(false)
//        if (isMoveOver) {
//            //m_image.transform.DOPlay ();
//            m_image.transform.DOPlayForward (); //向前播放
//            isMoveOver = false;
//        } else {
//            m_image.transform.DOPlayBackwards (); //会播放和DOPlayForward成对调用
//            isMoveOver = true;
//        }
        //
        m_camera.DOShakePosition (1,new Vector3(4,4,0));
    }
    public void MoveCallback()
    {
        Debug.Log ("MoveCallBack");
    }

}
 

原文链接:https://blog.csdn.net/qq_35373690/article/details/86901002

物体本身大小 LeanTween.scale(Cube, new Vector3(0, 0, 0), 0.5f);

//3个参数1.变换的物体,2变化的大小,3.时间

//物体旋转角度(自身角度)

LeanTween.rotate(Cube, new Vector3(0, 0, 0), 0.5f);


//相对于父物体的角度
LeanTween.rotateLocal(Cube, new Vector3(0, 0, 0), 0.5f);

物体位置移动(自身角度)

LeanTween.move(Cube, new Vector3(0, 0, 0), 0.5f);

setEase()  //设置动画

动画类型:LeanTweenType

 自定义动画类型

public AnimationCurve myCur;

void MoveCube()
{
    LeanTween.move(cube.gameObejct, new Vector3(0f,10f,0f),0.5f).setEase(myCur);  //Unity中设置关键帧
}

来回循环:setPingPong()

LeanTween.move(cube.gameObejct, new Vector3(0f,10f,0f),0.5f).setPingPong();

设置委托:setOnComplete()

复制代码

using...
public class Test:Monobehaviout{
    public AnimationCurve myCur;
 
    void MoveCube(Active active)
    {
        LeanTween.move(cube.gameObejct, new Vector3(0f,10f,0f),0.5f)
      .setEase(myCur)  //Unity中设置关键帧
      
      .setOnComplete(
        (delegate(){
            active();
        })          //委托
        .setLoopPingPong();    //来回循环;              
    }
    
    void Start()
    {
        MoveCube(RandomColor);
    }

    void RandomColor()
    {
      this.gameObject.GetComponent<Renderer>().material.color=
      new Color(UnityEngine.Random.Range(0f,1f),
                     UnityEngine.Random.Range(0f,1f),
                     UnityEngine.Random.Range(0f,1f))  //改变颜色
    }    

复制代码

设置更新:setOnUpdate()

监听数值变化,当达到一定值的时候可以让它触发个事件


//相对于父物体的位置移动
LeanTween.moveLocal(Cube, new Vector3(0, 0, 0), 0.5f);
//颜色修改
LeanTween.color(Cube, new Color(0,0,0,0), 0.5f);
//UI颜色修改
LeanTween.color(Cube.GetComponent<RectTransform>(), new Color(0, 0, 0, 0), 0.5f);

//渐渐显示出来:首先就是设置Aptha到0,值是0--1
Cube .DOFade(1,2);
//取消

LeanTween.cancelAll()

 
原文链接:https://blog.csdn.net/qq_35373690/article/details/86901002

LeanTween - BZ易风 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值