using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
/// <summary>
/// 此脚本是能够将文本字符串随着时间打字或褪色显示。
/// </summary>
[RequireComponent(typeof(Text))]
[AddComponentMenu("Typewriter Effect")]
public class TypewriterEffect : MonoBehaviour
{
public UnityEvent myEvent;
public int charsPerSecond = 0;
// public AudioClip mAudioClip; // 打字的声音,不是没打一个字播放一下,开始的时候播放结束就停止播放
private bool isActive = false;
private float timer;
private string words;
private Text mText;
void Start()
{
if (myEvent == null)
myEvent = new UnityEvent();
words = GetComponent<Text>().text;
GetComponent<Text>().text = string.Empty;
timer = 0;
isActive = true;
charsPerSecond = Mathf.Max(1, charsPerSecond);
mText = GetComponent<Text>();
}
void Reload
TypewriterEffect ugui 文字 逐字显示
最新推荐文章于 2024-08-12 08:26:34 发布
本文介绍了一个Unity3D脚本TypewriterEffect,该脚本用于实现UGUI文字随着游戏时间逐字显示的效果。通过设置字符每秒显示的数量(charsPerSecond),可以调整文字显示的速度。脚本包含UnityEvent事件,可用于在文字显示完成后触发其他操作。在Start()方法中,初始化文字为空,并在Update()方法中更新文字显示。当文字全部显示完毕,会调用OnFinish()方法并触发myEvent事件。
摘要由CSDN通过智能技术生成