代码也不复杂,直接上好了
using UnityEngine;
using System.Collections;
public class GUIPrintMachine : MonoBehaviour
{
/// <summary>
/// 间隔时间
/// </summary>
private float letterPause = 0.2f;
public AudioClip clip;
private AudioSource source;
/// <summary>
/// 暂存中间值
/// </summary>
private string word;
/// <summary>
/// 要显示的内容
/// </summary>
private string text = "I'm Eagle,赖张殷,22,1994,handsome,live in guuangzhou";
void Start()
{
source = GetComponent<AudioSource>();
word = text;
text = "";
StartCoroutine(TypeText());
}
void OnGUI()
{
GUI.Label(new Rect(100, 100, 200, 200), "text show");
GUI.Label(new Rect(50, 50, 250, 250), text);
}
/// <summary>
/// 打字机效果
/// </summary>
/// <returns></returns>
private IEnumerator TypeText()
{
foreach (char letter in word.ToCharArray())
{
text += letter;
if(clip )
{
source.PlayOneShot(clip);
}
yield return new WaitForSeconds(letterPause);
}
}
}