Как работать с GUI?

Общие вопросы о Unity3D

Как работать с GUI?

Сообщение Potay 14 янв 2018, 18:06

Хочу сделать всплывающие окна при нажатии на экране кнопок, кнопки сделал через UI обычный и событие им на нажатие, которое вызывает событие ShowWindow. И суть в том, что я в ShowWindow пытался сделать окно через GUI.Window, но нельзя использовать функции GUI не в OnGUI, но OnGUI вызывается каждый обновленный кард, как мне сделать проверку, что человек нажал на кнопку и ему показать окно?
Главное я делал проверку довольно банально, примерно вот так
Синтаксис:
Используется csharp
bool test = false;

public void ShowMessage()
{
        test = true;
}
void OnGUI()
{
        if(test == true)
        {
                GUI.Window(...);
        }
}

Но не работало
Potay
UNец
 
Сообщения: 9
Зарегистрирован: 14 дек 2017, 18:24

Re: Как работать с GUI?

Сообщение samana 15 янв 2018, 02:58

Это странно. Проверил ваш подход, создал UI кнопку, на неё повесил метод показа GUI окна и всё работает. Код был подобный вашему:

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

public class GUITest : MonoBehaviour
{
    bool _show;

    public void ShowHideGUIWindow()
    {
        _show = !_show;
    }

    private void OnGUI()
    {
        if (_show)
        {
            GUI.Window(0, new Rect(10, 10, 200, 152), windowAction, "Window");
        }
    }

    private void windowAction(int id)
    {
    }
}
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в Общие вопросы

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

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