Unity UGUI技巧 之 Text文字实现打印机效果

2024-10-22 08:32:30

Unity UGUI技巧 之 Text文字实现打印机效果。本节介绍UGUI实现文字打印机效果的简单案例,具体如下

Unity UGUI技巧 之 Text文字实现打印机效果

工具/原料

Unity

UGUI

一、知识要点

1、String.subString(start,end):截取的字符串包括起点所在的字符串

2、方法提示:1)获取Text的文本内容2)计时器时间间隔3)String.subString(start,end)实现对应文本内容显示

二、UGUI技巧 之 Text文字实现打印机效果

1、打开Unity,新建一个空工程,具体如下图

Unity UGUI技巧 之 Text文字实现打印机效果

2、在场景中,添加“Text”,并填写内容,调整“Text”布局,具体如下图

Unity UGUI技巧 之 Text文字实现打印机效果

3、新建脚本“TyperTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下

Unity UGUI技巧 之 Text文字实现打印机效果

4、在打开的脚本“TyperTest”上编辑代码,具体的代码和代码说明如下图

Unity UGUI技巧 之 Text文字实现打印机效果Unity UGUI技巧 之 Text文字实现打印机效果Unity UGUI技巧 之 Text文字实现打印机效果

5、“TyperTest”脚本的具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassTyperTest:MonoBehaviour{publicfloatcharsPerSeconds=0.2f; privatestringcontent; privateTexttextTest; privatefloattimer; privateintcurrentPos; privateboolisActive;//Usethisforinitialization voidStart(){textTest=GetComponent<Text>(); content=textTest.text; textTest.text=""; charsPerSeconds=Mathf.Max(0.2f,charsPerSeconds); timer=charsPerSeconds; isActive=false; currentPos=0;} //Updateiscalledonceperframe voidUpdate(){if(isActive==true){StartTyperEffect(); } }publicvoidTyperEffect(){ isActive=true; }privatevoidStartTyperEffect(){timer+=Time.deltaTime; if(timer>charsPerSeconds){ timer-=charsPerSeconds; currentPos++; textTest.text=content.Substring(0,currentPos); if(currentPos>=content.Length){FinishTyperEffect(); } } }privatevoidFinishTyperEffect(){isActive=false; timer=charsPerSeconds; currentPos=0; textTest.text=content; }}

6、脚本编译正确,回到Unity界面,把脚本添加“Text”上,在新建一个脚本“ToCallTyperEffect”,具体如下图

Unity UGUI技巧 之 Text文字实现打印机效果

7、在脚本“ToCallTyperEffect”上编辑代码,首先获取脚本“TyperTest”,然后调用脚本“TyperTest”的函数“TyperEffect”,具体的代码和代码说明如下图

Unity UGUI技巧 之 Text文字实现打印机效果

8、“ToCallTyperE酆璁冻嘌ffect”脚本的具体内容如下:usingSystem.Collections;us足毂忍珩ingSystem.Collections.Generic;usingUnityEngine;publicclassToCallTyperEffect:MonoBehaviour{publicTyperTesttyperTest;//Updateiscalledonceperframe voidUpdate(){if(Input.GetKeyDown(KeyCode.T)){if(typerTest==null){return; }typerTest.TyperEffect(); } }}

9、脚本编译正确后,回到Unity界面,新建一个“Game蚪嬷吃败Object”,把脚本“ToCallTyperEffect”赋给“GameObject”,把“Text”赋榕舱筋灏给脚本“ToCallTyperEffect”,具体如下图

Unity UGUI技巧 之 Text文字实现打印机效果

10、运行场景,按下“T”键,文字打印机效果出现,具体如下图

Unity UGUI技巧 之 Text文字实现打印机效果

11、到此,《Unity UGUI技巧 之 Text文字实现打印机效果》讲解结束,谢谢

猜你喜欢