在unity中实现数字在UI中的累加效果

文章介绍了如何在游戏开发中使用Unity的协程功能来实现数字的动态累加和文字的逐字增加,以提升游戏的视觉体验。通过核心代码示例,展示了在得分、生命值等UI元素更新时,如何控制数值变化的速度,以及如何应用在对话框的逐字显示上。
摘要由CSDN通过智能技术生成

目标:实现数字的累加和文字的逐字增加

为什么这么做?增加游戏的体验和观感,不至于太生硬

可以用在哪里:

  • 得分,生命值,魔力值等含有数字的地方,可以实现数字的累加/累减
  • 对话框,提示框,logo显示,等含有文字的地方,可以实现文字的逐字增/减

好了,废话不多说,直接上核心代码:

就不展示完整的了,因为没用,知道核心代码就行了,看完整的反而容易乱。

    private  IEnumerator ShowScore()
    {
        for (;
             GameManager.instance.currentNum <= GameManager.instance.totalScoreNum;
             GameManager.instance.currentNum += 100)
        {
            yield return new WaitForSeconds(0.01f);

            GameManager.instance.SetScore();
        }
    }

在这个协程里,我们使用for循环来每增加currentNum的值,并且每一次循环我们通过

yield return new WaitForSeconds(0.01f);

语句来控制代码的执行速度(可以这么理解)

这行代码表示等待0.01秒后再执行下一行代码,我们下一行代码执行了GameManager里的更新UI的函数,这个函数会把currentNum的值给到UI面板中的得分文本

好了,这不多就是这些。协程也可以用来制作对话框的逐字显示

例如:

        for (int i = 0; i < str.Length; i++)
        {
            dialog.text += i;
            yield return new WaitForSeconds(0.01f);
        }

这个也是对话框的核心代码,同样是放在协程里执行。

嗯,以上就是关于协程在游戏开发中最基础的应用了。

其实数字的累加用单纯的for循环来执行也是可以的。。。但是增加的速度无法控制,体验很不好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值