Обновление текста пользовательского интерфейса в Unity3D - PullRequest
0 голосов
/ 27 марта 2020

я сделал скрипт для подсчета дров

, если у игрока 5 дров и нажмите L, дрова должны быть -5, а значок «holz2» должен быть активным, но текст пользовательского интерфейса не обновляется, а значок не устанавливается активным

было бы неплохо, если бы кто-то мог мне помочь:)

HolzScript:

void Start()
{
    gesammeltesHolzText.text = gesammeltesHolz.ToString();
    gesammeltesHolzTable.text = gesammeltesHolz.ToString();
    holzIcon.gameObject.SetActive(false);
    holzIconTable.gameObject.SetActive(false);
    gesammeltesHolzText.gameObject.SetActive(false);
    gesammeltesHolzTable.gameObject.SetActive(false);
}

void Update()
{
    if (gesammeltesHolz > 0)
    {
        gesammeltesHolzText.gameObject.SetActive(true);
        gesammeltesHolzTable.gameObject.SetActive(true);
    }
    if (Input.GetMouseButtonDown(0))
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit rayHit;
        if (Physics.Raycast(ray, out rayHit, 100.0f))
        {
            if (rayHit.collider.tag == "Baum")
            {
                holzIcon.gameObject.SetActive(true);
                holzIconTable.gameObject.SetActive(true);
                gesammeltesHolz++;
                Destroy(rayHit.collider.gameObject);
            }
            gesammeltesHolzText.text = gesammeltesHolz.ToString();
            gesammeltesHolzTable.text = gesammeltesHolz.ToString();
        }
    }
}

и скрипт игрока для проверки, нажимает ли игрок L

    void Update()
{

    if (Input.GetKeyDown(KeyCode.L))
    {
        if (Axt.GetComponent<holzEinsammeln>().gesammeltesHolz > 4)
        {
            Axt.GetComponent<holzEinsammeln>().gesammeltesHolz -= 5;
            holzIcon2.gameObject.SetActive(true);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...