//感觉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