Unity—UGUI.Text实现打字机的效果!

Unity学习 — UGUI.Text实现打字机的效果!

  • 一:前言
  • 二:效果图
  • 三:一个脚本
  • 四:Demo下载
  • 七:关注公主号,获取更多资源素材


本文提供详细教程

记录遇到的难点并帮助同行的朋友们

坚持以最简单的方法传授和把更好的阅读体验带给你们!


一:前言

一个简单的打字机效果。



二:效果图

Unity—UGUI.Text实现打字机的效果!_第1张图片



三:一个脚本

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class TextGCU : MonoBehaviour
{
    //打字的时间间隔
    public float TimeInterval = 0.3f;
    private string words;//保存需要显示的文字

    private bool isActive = false;
    private float timer;//时间计时
    private Text myText;
    private int currentPos = 0;//当前打字位置

    void Start()
    {
        timer = 0;
        isActive = true;
        TimeInterval = Mathf.Max(0.2f, TimeInterval);
        myText = GetComponent<Text>();
        words = myText.text;

        //获取Text的文本信息,保存到words中,然后动态更新文本显示内容,实现打字机的效果
        myText.text = "";
    }
  
    void Update()
    {
        OnStartWriter();
    }

    public void StartEffect()
    {
        isActive = true;
    }

    /// 
    /// 开始打字
    /// 
    void OnStartWriter()
    {

        if (isActive)
        {
            timer += Time.deltaTime;
            if (timer >= TimeInterval)
            {
                //判断计时器时间是否完成
                timer = 0;
                currentPos++;
                myText.text = words.Substring(0, currentPos);//刷新显示内容

                if (currentPos >= words.Length)
                {
                    OnFinish();
                }
            }

        }
    }

    /// 
    /// 结束打字,初始化数据
    /// 
    void OnFinish()
    {
        isActive = false;
        timer = 0;
        currentPos = 0;
        myText.text = words;
    }
}




四:Demo下载

网盘资源一键下载 (点点关注,不迷路!谢谢支持!!)
提取码:9317



七:关注公主号,获取更多资源素材


拥有自己的服务器

让开发工作不再难

MyBe

阿里云 —ESC服务器部署和搭建购买方式(图文并排,一目了然)

一键领取阿里全产品2000元优惠券大礼包 (新手必得享超值优惠)


本博客为非营利性个人原创
所刊登的所有作品的著作权均为本人所拥有
本人保留所有法定权利,违者必究!
对于需要复制、转载、链接和传播博客文章或内容的
请及时和本博主进行联系,留言,Email: [email protected]
————————————————————————————————
版权声明:对于经本博主明确授权和许可使用文章及内容的
使用时请注明文章或内容出处并注明网址
转载请附上原文出处链接及本声明。

你可能感兴趣的:(UGUI)