UGUI打字机效果

在NGUI里有一个现成的脚步可以给Text的文字设置为打字机的效果,而UGUI并没有给我们提供这个方法。

所以下面脚本用来实现这个功能。

效果如下;

实现方法非常简单,直接把下面脚本绑定到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)//如果当前字符位置等于字符总长度前一个位置就停止调用打字方法

CancelInvoke("Typing");

Showtext.text += sContent.Substring(curPos, 1);//每次都截取到当前位置的下一个字符位置

curPos++;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,199评论 19 139
  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,448评论 1 4
  • 0004给自己存款.今天整个人的状态还不错,体会到了:只要你真心想要,一切都为你让路的感觉。1.由于某些原因弟兄俩...
    为爱存款阅读 148评论 0 0
  • 我认为,一天中只要做到早起、学习、早睡这三件事就是完美的一天。 首先,早起是一种积极的生活态度。凡事往前赶,在一天...
    围裙妈阅读 409评论 0 1