Страница 1 из 1

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

СообщениеДобавлено: 09 апр 2021, 18:32
gedat
Сделал появление текста при наведении рейкаста на объект. Но он работает как-то через раз , основная проблема в том что не пропадает текст. Думал что проблема в расстоянии рейкаста , но даже если стоять напротив объекта , наводить и убирать и так по кругу , то всё равно текст может остаться. Код наверно не лучший , подскажите как исправить ситуацию или что лучше использовать ?
Синтаксис:
Используется csharp
    void Update()
    {
HudInfo();
}


Синтаксис:
Используется csharp
    void HudInfo()
    {



        RaycastHit hit2;
        Ray ray2 = rayCamera2.ScreenPointToRay(Input.mousePosition);

       

        if (Physics.Raycast(ray2, out hit2, 15f))
        {

            if (hit2.collider.gameObject.tag == "Enemy" || hit2.collider.gameObject.tag == "Villager")
            {
                text.enabled = true;
                text.text = hit2.collider.gameObject.GetComponent<Enemy>().health.ToString();
            }
            else
            {
                if(text)
                text.enabled = false;
            }
        }

    }

Re: Появление текста при наведении

СообщениеДобавлено: 09 апр 2021, 18:49
1max1
осечка...

Re: Появление текста при наведении

СообщениеДобавлено: 09 апр 2021, 18:58
waruiyume
А где else у первого if, или у вас всё пространство исключительно неписями заполнено?

Re: Появление текста при наведении

СообщениеДобавлено: 09 апр 2021, 21:46
gedat
waruiyume писал(а):А где else у первого if, или у вас всё пространство исключительно неписями заполнено?

Вобще посути если добавить else с выключением текста , то это исправит только проблему на расстоянии 15f, но такая проблема возникает и на малом расстоянии. Или я чего-то не понимаю?