Я создаю программу, которая читает внешний текстовый файл после создания моего проекта единства. Журнал Debug может отлично читать внешний файл и отправлять обратно мой текст или обнаруживать, когда нет файла - моя единственная проблема заключается в переносе переменной txt в метку GUI? Мне было интересно, почему переменная String не передается правильно, поскольку она просто ничего не показывает. Любая помощь будет принята с благодарностью.String Variable не переносится на OnGUI() Label
void Start() {
StreamReader reader = null;
FileInfo theSourceFile = null;
theSourceFile = new FileInfo (Application.dataPath + "/puzzles.txt");
if (theSourceFile != null && theSourceFile.Exists)
reader = theSourceFile.OpenText();
if (reader == null)
{
Debug.Log("puzzles.txt not found or not readable");
}
else
{
// Read each line from the file
while ((txt = reader.ReadLine()) != null)
Debug.Log("-->" + txt);
}
}
void OnGUI()
{
GUI.contentColor = Color.red;
GUI.Label(new Rect(500, 300, 400, 400), txt);
}
Также добавить - переменная txt является общедоступной уже – Jaindreas
Ну, давайте вернемся к запуску Start(), а затем ваш OnGUI(), цикл while в Start() установит текст в null, чтобы завершить работу. Следовательно, null будет передан в вызов метки. Просто поместите вызов Debug.Log (txt) внутри вашей функции OnGUI(). P.S.S. найдите, как использовать контрольные точки в отладчике. –
Спасибо, что нашли время, чтобы помочь Нико! Хорошо, у меня уже был вызов метода OnGUI(), но это тоже не сработало? Что мне делать, чтобы остановить передачу null в вызов метки? – Jaindreas