На данный вопрос уже ответили:
Делаю простую игру. Когда игрок собирает ящики, то обновляется объект Text, который показывает кол-во собраных ящиков. Но получаю ошибку:
NullReferenceException: Object reference not set to an instance of an object
и текст не обновляется. Как исправить?
Класс CounterController
public class CounterController : MonoBehaviour {
int numberOfBoxes;
Text counterView;
// Use this for initialization
void Start () {
ResetCounter ();
}
public void IncrementCounter(){
numberOfBoxes++;
counterView.text = numberOfBoxes.ToString();
}
public void ResetCounter(){
numberOfBoxes=0;
counterView.text = numberOfBoxes.ToString();
}
}
Клас PickUpBox
public class PickUpBox : MonoBehaviour {
CounterController counterController;
void Start () {
counterController = GameObject.Find ("Manager").GetComponent<CounterController> ();
if (counterController == null) {
Debug.LogError ("CounterController не найден.");
}
}
void OnTriggerEnter2D (Collider2D other) {
if (other.gameObject.name == "Girl") {
Destroy (this.gameObject);
counterController.IncrementCounter ();
}
}
}
По коду не видно, где переменной counterView задается ссылка на компонент, который и должен отображать текст. Самым простым вариантом для Вас будет сделать переменную либо общедоступной
public Text counterView;
либо видимой для Инспектора
[SerializeField]
Text counterView;
и после этого в Инспекторе задать значение переменной, перетащив нужный компонент Text.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Решил пощупать на практике AutofacНо не хватает знаний для его применения
Изучаю теорию, подскажите, какое практическое применение Hashtable