Unity实现打字机效果

1.需要改脚本挂载Text组件之上

2.所用知识点:string中的Substring–两个参数,第一个参数为初始下标,第二个为终止下标,从某个字符串中剪切出冲初始下标到终止下标中间的字符,重新组成一个字符串

3.补充知识:Math.Max返回两个或多个数中的最大值,反之,Math.Min返回两个或多数之间的最小数

4.代码

 日期:2020/11/20 16:56:23
	功能:打字机功能
*****************************************************/

using UnityEngine;
using UnityEngine.UI;

public class TxtTools : MonoBehaviour 
{

    [Header("打字间隔")]public float typeTimer=0.2f;
    [Header("打字的内容")]public string words;
    private Text txtFile;
    private bool isStartTyping=true;//是否开始打字
    private float timer;
    private int currentIndex = 0;

    private void Start()
    {
        txtFile = GetComponent<Text>();
        //返回两个或多个值中最大的值
        typeTimer = Mathf.Max(0.02f, typeTimer);
       
    }

    private void Update()
    {
        OnStartTyping();
    }

    private void OnStartTyping()
    {

        if (isStartTyping)
        {
            timer += Time.deltaTime;
            if (timer >= typeTimer)
            {
                timer = 0;
                currentIndex++;
                txtFile.text = words.Substring(0,currentIndex);
                if (currentIndex>=words.Length)
                {
                    OnFinshTyping();
                }
            }
        }
    }

    private void OnFinshTyping()
    {
        isStartTyping = false;
        timer = 0;
        currentIndex = 0;
        txtFile.text = words;
    }
}

5.效果图:
在这里插入图片描述

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值