Мне нужно чтобы когда он закончил печатать (ни раньше, ни позже), то я бы мог что-то сделать, например выключить текст или включить новый. Не пойму как это сделать, помогите пожалуйста?
Синтаксис:
Используется javascript
var letterPause = 0.2;
var sound : AudioClip;
private var word;
function Start () {
word = guiText.text;
guiText.text = "";
TypeText ();
}
function TypeText () {
for (var letter in word.ToCharArray()) {
guiText.text += letter;
if (sound)
audio.PlayOneShot (sound);
yield WaitForSeconds (letterPause);
}
}
var sound : AudioClip;
private var word;
function Start () {
word = guiText.text;
guiText.text = "";
TypeText ();
}
function TypeText () {
for (var letter in word.ToCharArray()) {
guiText.text += letter;
if (sound)
audio.PlayOneShot (sound);
yield WaitForSeconds (letterPause);
}
}
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class AutoType : MonoBehaviour {
public float letterPause = 0.2f;
public AudioClip sound;
string message;
// Use this for initialization
void Start () {
message = guiText.text;
guiText.text = "";
StartCoroutine(TypeText ());
}
IEnumerator TypeText () {
foreach (char letter in message.ToCharArray()) {
guiText.text += letter;
if (sound)
audio.PlayOneShot (sound);
yield return 0;
yield return new WaitForSeconds (letterPause);
}
}
}
using System.Collections;
public class AutoType : MonoBehaviour {
public float letterPause = 0.2f;
public AudioClip sound;
string message;
// Use this for initialization
void Start () {
message = guiText.text;
guiText.text = "";
StartCoroutine(TypeText ());
}
IEnumerator TypeText () {
foreach (char letter in message.ToCharArray()) {
guiText.text += letter;
if (sound)
audio.PlayOneShot (sound);
yield return 0;
yield return new WaitForSeconds (letterPause);
}
}
}