Почему я не могу задать минимальную высоту в GUI.BOX

130
30 декабря 2020, 08:00

Я хочу сделать полоску над врагом, получается вот это:

Почему Gui.Box не принимает высоту текстуры? Вот скрипт:

private void OnGUI()
    {
        if (isStripLife) {
            float relStripPos = HelperConst.valueFromProcent(health, maxHealth, maxStripHealth);
            Vector3 posScr = Camera.main.WorldToScreenPoint(gameObject.transform.position);
            GUI.Box(new Rect(posScr.x - biasStripX, Screen.height - posScr.y - biasStripY, maxStripHealth, 2), healthTex0);
            GUI.DrawTexture(new Rect(posScr.x - biasStripX, Screen.height - posScr.y - biasStripY, relStripPos, 2), healthTex);
        }   
    }

В healthTex0 добавлена текстура UI MASK, в healthTex красная текстура, если GUI.Box в последний параметр передать "" то ничего не изменится. Как выйти из сложившийся ситуации?

Answer 1

Короче, я не хочу сказать что это решение проблемы скорее костыль но т.к. никто ничего мне не написал, напишу это. Я вобще убрал GUI.Box вместо этого нарисовал текстуру темже способом что и первую, но черного цвета, получилось так себе но все же лучше чем просто исчезает красная полоса:

  private void OnGUI()
    {
        if (isStripLife) {
            float relStripPos = HelperConst.valueFromProcent(health, maxHealth, maxStripHealth);
            Vector3 posScr = Camera.main.WorldToScreenPoint(gameObject.transform.position);
            // GUI.Box(new Rect(posScr.x - biasStripX, Screen.height - posScr.y - biasStripY, maxStripHealth, 2), healthTex0);
            GUI.DrawTexture(new Rect(posScr.x - biasStripX, Screen.height - posScr.y - biasStripY, maxStripHealth, 2), healthTex0);
            GUI.DrawTexture(new Rect(posScr.x - biasStripX, Screen.height - posScr.y - biasStripY, relStripPos, 2), healthTex);
        }   
    }
READ ALSO
как снизить нагрузку при рисовании на Canvas wpf

как снизить нагрузку при рисовании на Canvas wpf

При рисовании на canvas'е загружает ЦП до 60%

102
Заменить символы в TextBox для ввода пароля C# WPF MVVM

Заменить символы в TextBox для ввода пароля C# WPF MVVM

Так исторически сложилось, что необходимо использовать TextBox для ввода логина и пароляКак правильно организовать замену символов в текстовом...

136
Unity сцена внутри картинки

Unity сцена внутри картинки

У меня есть картинка для экрана игры, но она с полями (счет, уровень и тп)

108