【Unity】DoTween实现数字逐一添加效果

项目中经常会遇到要实现数字逐一添加的效果,比如玩家得分或者获得金币时候,这个数字需要从100变成150, 但又不直接变,需要从100逐步添加1,直到添加到150为止。

这种效果有很多的实现方法,下面记录一下我用DoTween实现的方法,仅需一行

                DOTween.To(value => {
    
     Text_ScoreEndless.text = Mathf.Floor(value).ToString(); }, startValue: int.Parse(Text_ScoreEndless.text), endValue: score, duration: 0.5f);

上面就是我的实现方法,其中Text_ScoreEndless就是数字的文本组件Text,向下取整且不显示小数,endValue:score为增加后需要达到的数值,duration为这个动画的持续时间,是不是很简单。

写到这里不得不感叹一下DoTween的强大,下面进行扩展一下

常见的Dotween处理延时问题:

1、延时n秒处理下一个事件:

float timeCount;
DOTween.To(() => timeCount, a => timeCount = a, 1, 3).OnComplete(() => print("执行"));
 

其中 1 可以任意填, 3为延时的时间

2、每隔n秒处理一下事件:

 Tween t = DOTween.To(() => timeCount, a => timeCount = a, 1, 3).OnStepComplete(() => print("执行")).SetLoops(-1);

Over~
觉得有用就点个赞吧~

猜你喜欢

转载自blog.csdn.net/qq_41789645/article/details/142789078