Unity—UGUI.Text實現打字機的效果!


本文提供詳細教程

記錄遇到的難點並幫助同行的朋友們

堅持以最簡單的方法傳授和把更好的閱讀體驗帶給你們!


一:前言

一個簡單的打字機效果。



二:效果圖

在這裏插入圖片描述



三:一個腳本

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;
    }

    /// <summary>
    /// 開始打字
    /// </summary>
    void OnStartWriter()
    {

        if (isActive)
        {
            timer += Time.deltaTime;
            if (timer >= TimeInterval)
            {
                //判斷計時器時間是否完成
                timer = 0;
                currentPos++;
                myText.text = words.Substring(0, currentPos);//刷新顯示內容

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

        }
    }

    /// <summary>
    /// 結束打字,初始化數據
    /// </summary>
    void OnFinish()
    {
        isActive = false;
        timer = 0;
        currentPos = 0;
        myText.text = words;
    }
}




四:Demo下載

網盤資源一鍵下載 (點點關注,不迷路!謝謝支持!!)
提取碼:9317



七:關注公主號,獲取更多資源素材


擁有自己的服務器

讓開發工作不再難

MyBe

阿里雲 —ESC服務器部署和搭建購買方式(圖文並排,一目瞭然)

一鍵領取阿里全產品2000元優惠券大禮包 (新手必得享超值優惠)


本博客爲非營利性個人原創
所刊登的所有作品的著作權均爲本人所擁有
本人保留所有法定權利,違者必究!
對於需要複製、轉載、鏈接和傳播博客文章或內容的
請及時和本博主進行聯繫,留言,Email: [email protected]
————————————————————————————————
版權聲明:對於經本博主明確授權和許可使用文章及內容的
使用時請註明文章或內容出處並註明網址
轉載請附上原文出處鏈接及本聲明。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章