@pmozil

Ошибка в Unity3D NullReferenceException: Object reference not set to an instance of an object.Почему?

Делаю простую игру.Когда игрок собирает ящики,обновляется объект 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 ();

		}

	}
}
  • Вопрос задан
  • 1342 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Должно быть
[SerializeField] Text counterView;
А в инспекторе нужно перетащить элемент с компонентом Text.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы