@Vqrlamov

Как найти UI Text по тэгу и использовать текст в самом скрипте?

Пытаюсь найти текст по тэгу в скрипте и изменять число монеток при подборе, но что то делаю неправильно, не могу понять что именно. Сам Unity выдает нулевую ошибку в Update

Скрипт прикреплен к самому тексту, вот сам скрипт:

using UnityEngine;
using UnityEngine.UI;

public class CoinsScript : MonoBehaviour
{
Text CountOfCoins;
public static int coinsCounter;

void Start()
{
CountOfCoins = GameObject.Find("CountCoin").GetComponent();
coinsCounter = 0;
}

void Update()
{
CountOfCoins.text = "Coins: " + coinsCounter;
}
  • Вопрос задан
  • 1334 просмотра
Пригласить эксперта
Ответы на вопрос 2
@B1tH0ven
При использовании GetComponent, указывай тип компонента (тут подойдёт GetComponent"знак меньше"Text"знак больше"();)
Сама ошибка:
1. Нет объектов с тэгом CountCoin
2. На первом таком объекте (кто первый, Юнити решает не всегда очевидным способом) нет компонента Текст.

Возможно, будет полезным: Любой поиск, по имени, тэгу или типу, весьма затратный процесс, попробуй сериализовать поле текста:
[Serialize Field] private Text CountOfCoins;
Или
public Text CountOfCoins;

После чего, нужный конкретный объект с текстом перетащи из окна Иерархия в слот на скрипте в окне Инспектор.
Дополнительная плюшка - не будет проблем, как при тэгах, если сделать два объекта с тэгом "CountCoin". Текстом для монеток будет всегда именно тот текст, который укажешь в поле скрипта.
Ответ написан
Комментировать
@i__egor
У тебя поиск по имени объекта, если по тегам то GameObject.FindGameObjectWithTag("CountCoin"). а вообще лучше искать по имени и конкретный путь задавать, ты же знаешь где этот текст в иерархии находится. например "Canvas/Panel/TxtCoin"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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