08.回调函数和控制方法,获取数据
原创
©著作权归作者所有:来自51CTO博客作者我的流浪国的原创作品,请联系作者获取转载授权,否则将追究法律责任
01.OnComplete
//动画完成之后的回调OnComplete
this.transform.DOMove(Vector3.one*2, 2f).OnComplete(() =>
{
Debug.Log("动画完成");
});
02.其他常用的
//this.transform.DOMove(Vector3.one * 2, 2f).OnStart();
//this.transform.DOMove(Vector3.one * 2, 2f).Pause();
//this.transform.DOMove(Vector3.one * 2, 2f).OnPlay();
//this.transform.DOMove(Vector3.one * 2, 2f).OnKill();
// this.transform.DOMove(Vector3.one * 2, 2f).OnStepComplete();
this.transform.DOMove(Vector3.one * 2, 2f).OnUpdate(() =>
{
Debug.Log(222);
});
//动画重新调用的时候触发
//this.transform.DOMove(Vector3.one * 2, 2f).OnRewind(() =>
//{
// Debug.Log("22");
//});
this.transform.DOMove(Vector3.one * 2, 2f);
//transform.DOPause();
//transform.DOPlay();
//transform.DORestart(); //重播
transform.DORewind(); //倒播
// transform.DOFlip();//翻转
04.获取数据
void Start()
{
this.transform.DOMove(Vector3.one * 2, 2f).SetId("ID").SetDelay(1);
获取所有暂停的动画
//var list1= DOTween.PausedTweens();
获取所有播放的动画
//var listPlay = DOTween.PlayingTweens();
查找ID下所有的动画 //是否收集正在播放动画
//var list2=DOTween.TweensById("ID");
参数 调用动画的对象 是否收集正在播放动画
//var list3= DOTween.TweensByTarget(transform,true);
//查找ID下的动画 是否正在播放动画
var list4 = DOTween.IsTweening("ID");
//所有正在播放动画
var list5 = DOTween.TotalPlayingTweens();
}
05.获取及修改动画的执行时间
//fullPosition 动画的执行时间
tweener = this.transform.DOMove(Vector3.one * 2, 2f).SetAutoKill(false);
tweener.SetDelay(1f);
Debug.Log(tweener.fullPosition);
//动画执行完的次数
count = tweener.CompletedLoops();
06.获取时间数据
//动画的延迟时间
time =tweener.Delay();
//获取动画的持续时间 参数 是否包括循环时间
tweener.Duration();
//当前已经播放的时间 参数 是否包括循环时间
tweener.Elapsed();
//进度的百分比返回动画进度的百分比
//起始点为0 目标点为1 当yoyo循环模式下,值会从0变到1再从1变到0
rotate = tweener.ElapsedDirectionalPercentage();
//返回动画区间已用的百分比
//单次循环的数值为0到1
//参数为 是否包含循环 为true时 返回值是循环总区间的已用百分比 若为无限循环 返回值为0
tweener.ElapsedPercentage();
动画是否在活动
tweener.IsActive();
是否是反向动画
_tweener.IsBackwards();
动画是否完成
_tweener.IsComplete();
是否以初始化
_tweener.IsInitialized();
是否正在播放
_tweener.IsPlaying();
返回循环次数, 无限循环为Infinity
_tweener.Loops();