Как проявлять текст по очереди в массиве, Unity2D, C#
Я имею данный скрипт, сразу скажу что вот данная строка отвечает за построчное появление одного текста:
IEnumerator showText(string text)
{
int i = 0;
while (i <= text.Length)
{
textUI.text = text.Substring(0, i);
i++;
yield return new WaitForSeconds(0.05f);
}
}
Дальше вот сам скрипт:
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class TypeText : MonoBehaviour
{
private Text textUI;
[TextArea(3, 10)]
public string[] text;
int ColvoText;
void Start()
{
textUI = GetComponent<Text>();
StartCoroutine("showText", text);
}
void Update() {
}
IEnumerator showText(string text)
{
int i = 0;
while (i <= text.Length)
{
textUI.text = text.Substring(0, i);
i++;
yield return new WaitForSeconds(0.05f);
}
}
}
Опять же повторюсь, я хочу сделать появление текстов с очередью, то есть сначала один текст спустя 5 секунд другой и тд.
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Строка это массив символов, массив строк выглядит как массив массивов. Значит нужен цикл в цикле.
IEnumerator showText(string[] lines)
{
foreach (string line in lines)
{
for (int i = 0; i < line.Length; i++)
{
textUI.text = line.Substring(0, i);
yield return new WaitForSeconds(0.05f);
}
yield return new WaitForSeconds(5f);
}
}