Недавно я создавал игру, и я создавал меню. Вначале игрок открывает меню и вводит имя в текстовое поле пользовательского интерфейса, которое я преобразую в строку, так что игрок может называться этим именем во всей сюжетной линии.Входное значение, преобразованное в строку
Я пришел через другой скрипт на этом сайте:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class GUIFieldTest : MonoBehaviour {
public GameObject playerName;
public void Start()
{
var input = gameObject.GetComponent<InputField>();
var se = new InputField.SubmitEvent();
se.AddListener(SubmitName);
input.onEndEdit.AddListener(SubmitName);
//or simply use the line below,
//input.onEndEdit = se; // This also works
}
private void SubmitName(string arg0)
{
Debug.Log(arg0);
}
}
Я подредактированны этот код, чтобы я мог включать префаб текстового поля как GameObject, однако я получил сообщение об ошибке сказав:
NullReferenceException: ссылка на объект не указывает на экземпляр объекта GUIFieldTest.Start() (на активы/скрипты/GUIFieldTest.cs: 13)
Я понимаю, что эта ошибка означает, что ничего не назначено, и я понимаю, как исправить исключение NullReferenceException. Я могу запустить игру, однако игра зависает, и текстовое поле не доступно для кликов. Вы не можете вводить текст.
Я знаю, что это очень простой вопрос, но это было бы здорово для объяснения.
Я не очень хорошо знаком с Unity, но я знаю, что 'NullReferenceException' означает, что вы пытаетесь получить доступ к члену на объекте, который является' Null' –