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] ———————————————————————————————— 版權聲明:對於經本博主明確授權和許可使用文章及內容的 使用時請註明文章或內容出處並註明網址 轉載請附上原文出處鏈接及本聲明。 |