代码语言:javascript复制
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Typewriter : MonoBehaviour
{
float fSpeed = 0.1f;
Text Showtext;
string sContent;//文本字符串
int curPos;//当前文字位置(当前的最后一个字)
void Start()
{
Showtext = GetComponent<Text>();
SetContent();
}
void SetContent()
{
curPos = 0;
sContent = Showtext.text;
Debug.Log("lenth " sContent.Length);
Showtext.text = string.Empty;
InvokeRepeating("Typing", 0, fSpeed);
}
void Update()
{
if (!sContent.Contains(Showtext.text))
{
Debug.Log("typing");
CancelInvoke("Typing");
SetContent();
}
}
void Typing()
{
if (sContent.Length - 1 == curPos)//如果当前字符位置等于字符总长度前一个位置就停止调用打字方法
CancelInvoke("Typing");
Showtext.text = sContent.Substring(curPos, 1);//每次都截取到当前位置的下一个字符位置
curPos ;
}
}
实现字一个一个出现的打字效果