在NGUI里有一個現(xiàn)成的腳步可以給Text的文字設(shè)置為打字機的效果干像,而UGUI并沒有給我們提供這個方法。
所以下面腳本用來實現(xiàn)這個功能枉圃。
效果如下芜壁;
實現(xiàn)方法非常簡單礁凡,直接把下面腳本綁定到Text文本上就可以。
腳本:
[csharp]view plaincopy
usingUnityEngine;
usingSystem.Collections;
usingUnityEngine.UI;
publicclassTypewriter?:?MonoBehaviour?{
publicfloatfSpeed?=?0.1f;
Text?Showtext;
stringsContent;//文本字符串
intcurPos;//當前文字位置(當前的最后一個字)
voidStart()
{
Showtext?=?GetComponent();
SetContent();
}
voidSetContent()
{
curPos?=?0;
sContent?=?Showtext.text;
Debug.Log("lenth++"+?sContent.Length);
Showtext.text?=string.Empty;
InvokeRepeating("Typing",?0,?fSpeed);
}
voidUpdate()
{
if(!sContent.Contains(Showtext.text))
{
Debug.Log("typing");
CancelInvoke("Typing");
SetContent();
}
}
voidTyping()
{
if(sContent.Length?-?1?==?curPos)//如果當前字符位置等于字符總長度前一個位置就停止調(diào)用打字方法
CancelInvoke("Typing");
Showtext.text?+=?sContent.Substring(curPos,?1);//每次都截取到當前位置的下一個字符位置
curPos++;
}
}