unity文字逐个出现实现文字打印机效果

这里提供一个万金油模板,无论是什么UI的Text都可以用,只需要替换掉部分代码即可使用。

核心代码:

//显示的文本.
private string str = "中国博物馆是中国文物和标本的主要收藏机构、\n宣传教育机构和科学研究机构";
private float speed = 1;    //显示的速度.


/// <summary>
/// 文本打字机.
/// </summary>
private void ShowText()
{
    //如果计数长度(显示速度) < 文本长度,则运行,否则停止Invoke调用当前方法.
	if (speed < str.Length)
	{
        speed += Time.deltaTime * 2;    //每次调用增加计数.

        //m_LogingText为 需要显示的Text文本的物体.
        m_LogingText.GetComponent<TextMesh>().text = str.Substring(0, (int)speed);
        //Substring(0,2)方法:截取字符串,从下标为0的位置截取2个字符.
	}
	else
	{
        //停止Invoke调用方法.
        CancelInvoke();
	}
}

/// <summary>
/// 显示文字.
/// </summary>
public void StartShowText()
{
     //重复调用 文字打印机 方法.
     InvokeRepeating("ShowText", 0, Time.deltaTime * 0.01f);
}

猜你喜欢

转载自blog.csdn.net/weixin_55532142/article/details/121509685