Ошибка в UI Text (Исправил)

Программирование на Юнити.

Ошибка в UI Text (Исправил)

Сообщение vave 19 мар 2017, 07:24

Исправил !!!имя переменной и имя UI текста совпадали - и я обращался к компоненту текст переменной а не объекта


Задолбала ошибка! никак не поправить! мб что-то не так сделал?
есть главный скрипт на сцена, у него есть :

public Text LeftMobText;
public Text RightMobText;

в редакторе перетаскиваю текстовые элементы UI (находятся в canvas) на эти поля в скрипте....
присваиваю им ЛЮБЫЕ значения(даже строку: "СТРОКА")

LeftMobText.text = "СТРОКА";
RightMobText.text = "СТРОКА";

в окне игры все отображается игра идет нормально но вот в консоли МЯСО!

NullReferenceException: Object reference not set to an instance of an object
MainSceneScript.Update () (at Assets/Scripts/s3/MainSceneScript.cs:77)
50 раз все перепроверил - все объекты существуют, пробовал к полям через GetComponent залезать - тоже все отображается поля показывают правильные значения но В КОНСОЛИ МЯСО!
Последний раз редактировалось vave 19 мар 2017, 16:45, всего редактировалось 1 раз.
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00

Re: Ошибка в UI Text

Сообщение Lolipop 19 мар 2017, 08:23

Полный скрипт MainSceneScript выложите пожалуйста... и выделите строчку 77.
ЭЩКЕРЕ!
Аватара пользователя
Lolipop
UNIт
 
Сообщения: 141
Зарегистрирован: 05 окт 2016, 14:21

Re: Ошибка в UI Text

Сообщение vave 19 мар 2017, 12:36

Lolipop писал(а):Полный скрипт MainSceneScript выложите пожалуйста... и выделите строчку 77.

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class MainSceneScript : MonoBehaviour
{

    [SerializeField]

    public Text LeftMobText;
    public Text RightMobText;

    public GameObject[] leftTeam;
    public GameObject[] rightTeam;

    public int lt;
    public int rt;

    public int summHPLeft;
    public int summHPRight;

    void Start()
    {
        Physics2D.IgnoreLayerCollision(1, 19, true);
       
    }

    void Update()
    {
        lt = 0;
        rt = 0;
        summHPLeft = 0;
        summHPRight = 0;


        leftTeam = GameObject.FindGameObjectsWithTag("Left");
        rightTeam = GameObject.FindGameObjectsWithTag("Right");


        foreach(GameObject GO in leftTeam)
        {
            if(GO != null)
            {
                summHPLeft += GO.GetComponent<NPCStats>().currentHP;
                lt++;
            }
        }

        foreach(GameObject GO in rightTeam)
        {
            if(GO != null)
            {
                summHPRight += GO.GetComponent<NPCStats>().currentHP;
                rt++;
            }
        }
//строчка с ошибкой ниже:
        LeftMobText.text = lt.ToString()+ "( "+ summHPLeft + ")";
        RightMobText.text = rt.ToString() + "( " + summHPRight + ")";
    }
 
}


ругается только на первое вхождение в элемент UI Text, Если поставить LeftMobText.text = "Траляля"; тоже орет на Ошибку в этой строке!
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00

Re: Ошибка в UI Text

Сообщение Lolipop 19 мар 2017, 14:16

Text - это компонент.
А в вашем скрипте вы не указали обьект на который вы хотите вывести текст.

в старте пропишите:
Синтаксис:
Используется csharp
LeftMobText = GameObject.Find("LeftText").GetComponent<Text>();


или вы в инспекторе обьявили?
ЭЩКЕРЕ!
Аватара пользователя
Lolipop
UNIт
 
Сообщения: 141
Зарегистрирован: 05 окт 2016, 14:21

Re: Ошибка в UI Text

Сообщение vave 19 мар 2017, 16:06

Lolipop писал(а):Text - это компонент.
А в вашем скрипте вы не указали обьект на который вы хотите вывести текст.

в старте пропишите:
Синтаксис:
Используется csharp
LeftMobText = GameObject.Find("LeftText").GetComponent<Text>();


или вы в инспекторе обьявили?


я в инспекторе добавил оба, плюс все корректро отображается -только вот ошибка всеравно лезет!
попробовал через принудительное назначение - как в вашем примере - всеравно ошибка при присвоении знаачения!
vave
UNец
 
Сообщения: 17
Зарегистрирован: 13 мар 2017, 06:00

Re: Ошибка в UI Text (Исправил)

Сообщение Lolipop 19 мар 2017, 20:32

С вашим описанием я бы не смог вам помочь.

Но все равно молодцы (3A4OT)
ЭЩКЕРЕ!
Аватара пользователя
Lolipop
UNIт
 
Сообщения: 141
Зарегистрирован: 05 окт 2016, 14:21


Вернуться в Скрипты

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

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


cron