经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 游戏设计 » 查看文章
DOTween实现缓动变值动效
来源:cnblogs  作者:SouthBegonia  时间:2022/1/17 10:46:44  对本文有异议

DOTween.To(getter, setter, to, float duration) 是常用的一个变值方法(一定时间将某变量从起始值到终点值进行变化),可以便捷实现 滚分、涨进度条 等功能

但大部分用的时候都是基于 Linear 匀速曲线 进行变化的(因为没刻意设定呀...),但也可以有缓动变化的情况,例如:

此类效果可以在Unity中配合DOTween.To()实现,不仅可以使用内置Ease曲线类型,还可以自定义AnimationCurve曲线实现

例如根据自定义AnimationCurve曲线实现的缓动滚分效果如下:

代码实现

  1. public static class NumberEffectUtility
  2. {
  3. public static void DoNumber(this Text numberText, int start, int end, float duration, Ease easeType)
  4. {
  5. DOTween.To(
  6. () => start, //起始值
  7. x =>
  8. {
  9. numberText.text = Mathf.Floor(x).ToString(); //变化值
  10. },
  11. end, //终点值
  12. duration) //持续时间
  13. .SetEase(easeType) //缓动类型
  14. .SetUpdate(true); //不受Time.Scale影响
  15. }
  16. public static void DoNumber(this Text numberText, int start, int end, float duration, AnimationCurve animCurve)
  17. {
  18. DOTween.To(
  19. () => start, //起始值
  20. x =>
  21. {
  22. numberText.text = Mathf.Floor(x).ToString(); //变化值
  23. },
  24. end, //终点值
  25. duration) //持续时间
  26. .SetEase(animCurve) //缓动类型
  27. .SetUpdate(true); //不受Time.Scale影响
  28. }
  29. }

参考文章

原文链接:http://www.cnblogs.com/SouthBegonia/p/15749957.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号