Dotween没法暂停|暂停失效|Sequence暂停不了的问题

问题简述

笔者今天使用Dotween做序列动画,想要将这个tween\sequence对象保存起来,然后再通过Pause和Play\Restart来复用这个Tween实例。可是Pause竟然不管用,这个序列动画没法暂停。

总结以下几点原因:

1.检查是否逻辑有误,导致存储的Tween实例是另一份Tween。

笔者疏忽的在每次执行时多创建了一份实例,导致Tween变量指向不是我们的目标地址。

错误代码如下:

if (ammoLabelTween != null)
{
                    ammoLabelTween.Play();
}

ammoLabelTween = DOTween.Sequence();
 /*此处省略*/
ammoLabelTween.SetLoops(-1,LoopType.Yoyo);
ammoLabelTween.SetAutoKill(false);

修改后代码如下:

 

if (ammoLabelTween != null)
 {
                    ammoLabelTween.Play();
}
else
{
                    ammoLabelTween = DOTween.Sequence();

                    ammoLabelTween.SetLoops(-1,LoopType.Yoyo);
                    ammoLabelTween.SetAutoKill(false);
}

 2.使用实例去发起暂停

在我的情况下Dotween.Pause不起作用。所以我尝试了ammoLabelTween.Pause() ,它成功了,这个很奇怪。

同样Kill操作也是如此。为了避免出现这种问题,我们应该尽可能使用对实例的引用来操作它。

 

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/unity/unity_technologyshare/3734
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
Dotween没法暂停|暂停失效|Sequence暂停不了的问题
问题简述 笔者今天使用Dotween做序列动画,想要将这个tween\sequence对象保存起来,然后再通过Pause和Play\Restart来复用这个Tween实例。可是Pause竟然不管用……
<<上一篇
下一篇>>
文章目录
关闭
目 录