Недавно я начал заниматься кодированием и прохожу онлайн-курс, который научит вас создавать текстовую «хакерскую» игру.
В настоящее время я пытаюсь найти способ текст должен быть напечатан, и лучший метод, который я нашел, - использование сопрограмм и массивов символов.
Единственная проблема, с которой я сталкиваюсь, это то, что если я пытаюсь изменить то, что система печатает, она повторно использует данные с того момента, когда я изначально создал массив символов. Мне просто любопытно, есть ли способ локализовать сам массив в моем приведенном ниже коде, или мне нужно подумать о том, чтобы переписать некоторые из них и найти лучшее решение.
void Start()
{
currentScreen = Screen.Prologue;
StartCoroutine("TypePrologue");
}
IEnumerator TypePrologue()
{
foreach (char letter in OpeningMessage.ToCharArray())
{
Terminal.WriteLine(Indent += letter.ToString());
yield return new WaitForSeconds(0.05f);
Terminal.ClearScreen();
}
Terminal.WriteLine(OpeningMessage);
yield break;
}
Просто чтобы уточнить, мои проблема заключается в том, что когда я меняю переменную OpeningMessage и снова вызываю эту функцию позже, или если я вызываю другую функцию, которая идентична во всех отношениях, кроме переменной OpeningMessage, новые символы складываются поверх того, что было у меня раньше, что немного беспорядок.
Заранее спасибо! Я уверен, что это можно было бы немного почистить, но меня больше беспокоит сначала получить работающую программу.