Непонятная проблема с UI Text

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Непонятная проблема с UI Text

Сообщение Dragonhunters7 19 сен 2021, 21:17

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class String : MonoBehaviour
{
public Text gold;
public Text man;
//
public Text farm;
void Update()
{
gold.text = string.Format("{0:0.00}", Global.gold);
man.text = string.Format("{0:0.0}", Global.man);
farm.text = string.Format("{0:0.0}", Global.farm);
}
}

Проблема в том что Global.gold и Global.man успешно работают когда вешаю на UI TEXT, а вот Global.farm ни в какую не отображается и не меняется хоть ты тресни... И вроде бы должен быть ответ уже давно на такой вопрос в инете но увы и ах я не нашёл ничего...
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Alkos26Rus 19 сен 2021, 21:25

Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 19 сен 2021, 21:28

Alkos26Rus писал(а):Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого


Здраствуйте, под типом вы имеете ввиду int,float,и т д. ? Если да то нет ведь переменная Global.man того же типа int и все прописано аналогично Global.farm. А за совет с прописью спасибо учту.
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Alkos26Rus 19 сен 2021, 21:36

Dragonhunters7 писал(а):
Alkos26Rus писал(а):Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого


Здраствуйте, под типом вы имеете ввиду int,float,и т д. ? Если да то нет ведь переменная Global.man того же типа int и все прописано аналогично Global.farm. А за совет с прописью спасибо учту.

Да если тоже int значит скоей всего дело в самом компоненте UI Text, может шрифт слишком большой и не отображается, лучше создать новый и проверить
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 19 сен 2021, 22:03

Alkos26Rus писал(а):
Dragonhunters7 писал(а):
Alkos26Rus писал(а):Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого


Здраствуйте, под типом вы имеете ввиду int,float,и т д. ? Если да то нет ведь переменная Global.man того же типа int и все прописано аналогично Global.farm. А за совет с прописью спасибо учту.

Да если тоже int значит скоей всего дело в самом компоненте UI Text, может шрифт слишком большой и не отображается, лучше создать новый и проверить


Неа,я уже целый день голову ломаю , думал сам разберусь но нет, дело в том что поле с текстом вовсе не реагирует именно на Global.farm. Я имею ввиду что если поменять Text UI с Global.farm на Global.gold все работает.
Я подозреваю что с переменными что то происходит при смене сцен ведь переменные Global.gold и Global.man находятся в одной сцене,а вот Global.farm в другой, но все равно непонятно почему тогда работает Global.gold в обеих сценах... Я запутался изрядно уже, а вроде такая примитивная штука. x_x
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Alkos26Rus 19 сен 2021, 22:55

Dragonhunters7 писал(а):
Alkos26Rus писал(а):
Dragonhunters7 писал(а):
Alkos26Rus писал(а):Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого


Здраствуйте, под типом вы имеете ввиду int,float,и т д. ? Если да то нет ведь переменная Global.man того же типа int и все прописано аналогично Global.farm. А за совет с прописью спасибо учту.

Да если тоже int значит скоей всего дело в самом компоненте UI Text, может шрифт слишком большой и не отображается, лучше создать новый и проверить


Неа,я уже целый день голову ломаю , думал сам разберусь но нет, дело в том что поле с текстом вовсе не реагирует именно на Global.farm. Я имею ввиду что если поменять Text UI с Global.farm на Global.gold все работает.
Я подозреваю что с переменными что то происходит при смене сцен ведь переменные Global.gold и Global.man находятся в одной сцене,а вот Global.farm в другой, но все равно непонятно почему тогда работает Global.gold в обеих сценах... Я запутался изрядно уже, а вроде такая примитивная штука. x_x

Что значит они находяться на разных сценах? С этого то и нужно было начинать. Ошибки есть? Иначе как идет ссылка на переменную из другой сцены без ошибок?
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 19 сен 2021, 23:22

Alkos26Rus писал(а):
Dragonhunters7 писал(а):
Alkos26Rus писал(а):
Dragonhunters7 писал(а):
Alkos26Rus писал(а):Как может быть в инете ответ на этот вопрос, если как ты и сам написал аналогичный код у тебя работает, значит дело не в коде а в твом UI например, может в самой переменной farm, т.е может она тупо не того типа. И на будущее не называй свои классы такими же названиями как и базовые, я понимаю что он с большой буквы, но лучше сразу отучаться от этого


Здраствуйте, под типом вы имеете ввиду int,float,и т д. ? Если да то нет ведь переменная Global.man того же типа int и все прописано аналогично Global.farm. А за совет с прописью спасибо учту.

Да если тоже int значит скоей всего дело в самом компоненте UI Text, может шрифт слишком большой и не отображается, лучше создать новый и проверить


Неа,я уже целый день голову ломаю , думал сам разберусь но нет, дело в том что поле с текстом вовсе не реагирует именно на Global.farm. Я имею ввиду что если поменять Text UI с Global.farm на Global.gold все работает.
Я подозреваю что с переменными что то происходит при смене сцен ведь переменные Global.gold и Global.man находятся в одной сцене,а вот Global.farm в другой, но все равно непонятно почему тогда работает Global.gold в обеих сценах... Я запутался изрядно уже, а вроде такая примитивная штука. x_x

Что значит они находяться на разных сценах? С этого то и нужно было начинать. Ошибки есть? Иначе как идет ссылка на переменную из другой сцены без ошибок?

Все переменные являются глобальными,мой косяк, нужно было наверное сначала сказать что я их сделал static.

Итак у меня есть две сцены game и farming и есть два скрипта Global и String
Скрипт String уже приведен выше а вот Global собственно:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Global : MonoBehaviour
{
public static int gold = 350;
public static int man = 5;
public static int farm = 1;
}

Здесь я сделал их статичными как мне сказали другие форумчане это и есть глобальные переменные в Unity. Скрипт String висит на камере в обоих сценах Game и Farming на UI текст я повесил переменные Global.gold и Global.farm соответственно и в том то и странность что переменную farm поменять местами с переменной gold или переменной man все работает,а переменная farm ну никак не хочет, не понимаю как такое может быть.

Кстати да ошибка есть: NullReferenceException: Object reference not set to an instance of an object
String.Update () (at Assets/Scripts/String.cs:14)

Не судите строго я только начал изучать эти дебри, параллельно работаю и времени учить все не так много как хотелось бы.
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Alkos26Rus 20 сен 2021, 00:08

NullReferenceException это отсутствие ссылки, посмотри точно на какую строку ссылается, я так думаю у тебя сами поля Text пустые, те ты их не накинул в редакторе
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 20 сен 2021, 18:57

Вот ссылка на скриншот: https://ibb.co/B33Xhhj

Скрипт накинут но все равно не работает... https://ibb.co/MssYnFp


А вот то же самое с Global.gold например: https://ibb.co/YW8svRL | | https://ibb.co/Tc2VvLW

И все прекрасно работает ,я хз как это работает и в чем соль...

(Text UI Text_farm_int это крестик на картинке)
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 20 сен 2021, 19:02

Dragonhunters7 писал(а):Вот ссылка на скриншот: https://ibb.co/B33Xhhj

Скрипт накинут но все равно не работает... https://ibb.co/MssYnFp


А вот то же самое с Global.gold например: https://ibb.co/YW8svRL | | https://ibb.co/Tc2VvLW

И все прекрасно работает ,я хз как это работает и в чем соль...

(Text UI Text_farm_int это крестик на картинке)


Ну все я кажись умом с этим юнити уже тронулся... Вчера Global.man работал когда вешал вместо Global.farm а сегодня уже и он не работает, хотя я вообще ничего не трогал. Я ничего теперь уже не понимаю...
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Alkos26Rus 20 сен 2021, 19:33

Ну естественно, вон то у тебя то Gold Main нету ссылки на Text, то Farm ссылка пустая, вобщем либо накинь все, что бы все было, иначе будут ошибки либо сделай проверку на наличие ссылки
Синтаксис:
Используется csharp
void Update()
{
if(gold)gold.text = string.Format("{0:0.00}", Global.gold);
if(man)man.text = string.Format("{0:0.0}", Global.man);
if(farm)farm.text = string.Format("{0:0.0}", Global.farm);
}
 
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 20 сен 2021, 20:12

Alkos26Rus писал(а):Ну естественно, вон то у тебя то Gold Main нету ссылки на Text, то Farm ссылка пустая, вобщем либо накинь все, что бы все было, иначе будут ошибки либо сделай проверку на наличие ссылки
Синтаксис:
Используется csharp
void Update()
{
if(gold)gold.text = string.Format("{0:0.00}", Global.gold);
if(man)man.text = string.Format("{0:0.0}", Global.man);
if(farm)farm.text = string.Format("{0:0.0}", Global.farm);
}
 


Спасибо огромное! Это действительно была моя проблема))
Мне такое даже в ум не пришло... Я сидел на game maker и теперь с драг анд дроп переучится под юнити очень сложно, всегда ищу что то похожее и надеюсь что оно будет работать, а здесь все с точностью до наоборот.
Спасибо большое еще раз!) Теперь заживу. :ymhug:
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56

Re: Непонятная проблема с UI Text

Сообщение Dragonhunters7 20 сен 2021, 20:14

Я то думал они себе висят просто в редакторе,а оно во как... Думаю эта информация будет помогать таким же нубокодерам как и я.
Dragonhunters7
UNец
 
Сообщения: 10
Зарегистрирован: 01 сен 2020, 01:56


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29