1、首先在Unity AssetStore 下载DoTween插件
2、之后再脚本中引入命名空间 using DG.Tweening;
3、实例化Tweener 对象(Tweener 主要保存物体动画信息)
4、简单代码示例
using UnityEngine;
using System.Collections;
using DG.Tweening;
public class DoTweenTest : MonoBehaviour {
public GameObject cube;
public LoopType loopType; //循环的模式
void Start()
{
Tweener paneltweener = cube.transform.DOScale (new Vector3(2,2,1),1f);
//多次调用DOTween动画会影响性能
//DOTween默认动画播放完毕时会自动销毁动画
//Tweener对象保存这个动画
paneltweener.SetAutoKill(false); //禁止销毁动画
paneltweener.Pause(); //停止播放动画
//paneltweener.SetDelay(0.5f); //设置动画延迟播放
//paneltweener.SetEase(Ease.INTERNAL_Zero); //设置动画运动的模式
//paneltweener.SetLoops(-1); //设置循环播放 (当参数为-1的时候循环播放;当参数>=0的时候则表示循环的次数;0的时候表示循环一次)
paneltweener.SetLoops(-1,loopType); //设置循环播放并且设置动画循环的模式
//paneltweener.PlayForward(); //播放
//paneltweener.PlayBackwards(); //倒放
paneltweener.OnComplete(OnComplete); //动画播放完毕后执行,动画倒放时候不执行
paneltweener.OnStart(OnStart); //动画第一次播放时执行
paneltweener.OnUpdate(OnUpdate); //动画播放时不断执行
paneltweener.OnPlay(OnPlay); //动画开始播放时执行
//paneltweener.OnStepComplete(OnStepComplete);//动画播放且倒放都会执行一次,且执行顺序先于OnComplete
//paneltweener.OnKill(OnKill); //动画删除的时候执行事件
//paneltweener.Kill(true); //删除动画且组件会直接到达指定位置
}
private void OnKill()
{
Debug.Log("This is OnKill");
}
private void OnStepComplete()
{
Debug.Log("This is OnStepComplete");
}
private void OnPlay()
{
Debug.Log("This is OnPlay");
}
private void OnUpdate()
{
Debug.Log("This is OnUpdate");
}
private void OnStart()
{
Debug.Log("动画第一次播放");
}
void OnComplete()
{
Debug.Log("动画播放完毕!");
}
}