引用命名空间
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
具体代码
public class TalkTest : MonoBehaviour
{
// 文字显示速度
public float speed = 0.001f;
// 要显示的文字
[TextArea]
public string content = "";
// 用于控制打字机效果的Text组件
private Text textComponent;
// 记录当前显示到的文字数量
private int currentCharacterCount = 0;
private void Start()
{
// 获取Text组件
textComponent = GetComponent<Text>();
// 设置文字为空串
textComponent.text = String.Empty;
// 开始协程,实现打字机效果
StartCoroutine(PlayText());
}
IEnumerator PlayText()
{
// 循环显示文字
while (currentCharacterCount < content.Length)
{
// 每次显示一定数量的文字
int displayCount = currentCharacterCount + 1;
// 获取需要显示的文字
string displayText = content.Substring(0, displayCount);
// 更新Text组件显示的文字
textComponent.text = displayText;
// 等待一定时间,延迟显示下一个文字
yield return new WaitForSeconds(speed);
// 增加当前显示的文字数量
currentCharacterCount++;
}
}
}