Это на самом деле довольно забавно.У меня есть два текстовых интерфейса в моем проекте.Оба на холсте.Они называются text1 и text 2. Я сделал то же самое для обоих в сценарии.text1 в порядке, но текст 2, похоже, не назначен, так как ошибка единицы говорит: «UnassignedReferenceExeption: переменная text2 larrytalk не была назначена.»
Вот мой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;
public class larrytalk : MonoBehaviour
{
[SerializeField] private GameObject FPS;
[SerializeField] public GameObject text1;
[SerializeField] public GameObject text2;
[SerializeField] private GameObject Larry;
[SerializeField] private GameObject Turm;
[SerializeField] private GameObject sockel;
CharacterController cc;
bool hold;
// Use this for initialization
void Start()
{
cc = GetComponent<CharacterController>();
GameObject Larry = GameObject.Find("larry1");
GameObject Text1 = GameObject.Find("Text1");
GameObject Text2 = GameObject.Find("Text2");
GameObject charactercontroller = GameObject.Find("FPSController");
GameObject Turm = GameObject.Find("mpp u3");
GameObject sockel = GameObject.Find("beton");
text1.SetActive(false);
text2.SetActive(false);
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0) && Input.GetMouseButton(0) && cc.height < 20 && Vector3.Distance(Larry.transform.position, this.transform.position) < 10)
{
text1.SetActive(true);
}
if( Vector3.Distance(Larry.transform.position, this.transform.position) > 20)
{
text1.SetActive(false);
}
if (Input.GetMouseButtonDown(0) && Input.GetMouseButton(0) && cc.height < 20 && Vector3.Distance(sockel.transform.position, Turm.transform.position) <10)
{
text2.SetActive(true);
}
else
{
text2.SetActive(false);
}
}
}
все что связано с text1 работает нормально.Почему не text2, а?