Как записать данные типа: string в переменную типа: Text?

Я недавно начал изучать unity. И вот не задача. Когда я хотел вывести текст в UI.Text то столкнулся с проблемой: когда я записываю в переменную типа: Text данные типа: string, то ругается мол "Неявное преобразование типа "string" в "UnityEngine.UI.Text". Как я понял (может и неправильно понял), что нельзя из string сделать Text.

public class public_settings : MonoBehaviour 
{
	public Text TextPr = GameObject.Find ("TextPr").GetComponent<Text>().text;
	public Player_1 Player_1;   //это другой скрипт из которого я потом возьму переменную

	void start()
	{
		TextPr.text = Player_1.PalaeyrName; 
	} 
}


PalaeyrName имеет тип string.
Я пытался найти в документации по поводу этого, но так и не нашел (скорее всего просто очень плохо искал)
  • Вопрос задан
  • 4550 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Во-первых, использовать GameObject.Find в инициализаторе переменной нельзя, перенесите поиск объекта в старт.
Во-вторых, вы пытаетесь присвоить переменной типа Text значение типа string, про это вам компилятор и пишет, вам нужно убрать лишнее ".text".
public class public_settings : MonoBehaviour 
{
    public Text TextPr;
    public Player_1 Player_1;

    private void Start()
    {
        TextPr = GameObject.Find("TextPr").GetComponent<Text>();
        TextPr.text = Player_1.PalaeyrName; 
    } 
}

И заодно почитайте правила именования, а то у вас кавардак с названиями.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
public Text TextPr = GameObject.Find ("TextPr").GetComponent<Text>().text

Вот в этой точке внимательно посмотрите на типы данных.
Ответ написан
Ваш ответ на вопрос

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

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