Nextrek
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
using UnityEngine;
/// <summary>
/// Trivial script that fills the label's contents gradually, as if someone was typing.
/// </summary>
[RequireComponent(typeof(UILabel))]
[AddComponentMenu("NGUI/Examples/Typewriter Effect")]
public class TypewriterEffect : MonoBehaviour
{
public int charsPerSecond = 40;
UILabel mLabel;
string mText;
int mOffset = 0;
float mNextChar = 0f;
void Update ()
{
if (mLabel == null)
{
mLabel = GetComponent<UILabel>();
mLabel.supportEncoding = false;
mLabel.symbolStyle = NGUIText.SymbolStyle.None;
mText = mLabel.processedText;
}
if (mOffset < mText.Length)
{
if (mNextChar <= Time.time)
{
charsPerSecond = Mathf.Max(1, charsPerSecond);
// Periods and end-of-line characters should pause for a longer time.
float delay = 1f / charsPerSecond;
char c = mText[mOffset];
if (c == '.' || c == '\n' || c == '!' || c == '?') delay *= 4f;
mNextChar = Time.time + delay;
mLabel.text = mText.Substring(0, ++mOffset);
}
}
else Destroy(this);
}
}
|
Revision |
Author |
Commited |
Message |
83
|
FMMortaroli
|
Tue 13 May, 2014 11:32:51 +0000 |
|