Проблема с GUI

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

Проблема с GUI

Сообщение spzero 02 авг 2010, 17:57

Что то я не понимаю по какому шаманскому принципу происходит рисование GUI

Вот пример:
Код: Выделить всё
        if (GUI.Button(new Rect(Screen.width - 34, Screen.height - 34, 32, 32), "C"))
        {
            print("Clicked!");
            GUI.Window(0, new Rect(2, 2, 200, 400), wf, "Stats");
        }

В строке состояния пишется Clicked и(!) окно Stats не появляется!

Вот 2-й пример:
Код: Выделить всё
bool w=false;

void OnGUI()
    {
        if (GUI.Button(new Rect(Screen.width - 34, Screen.height - 34, 32, 32), "C"))
            w = true;
        if (w)
        {
            print("Clicked!");
            GUI.Window(0, new Rect(2, 2, 200, 400), wf, "Stats");
        }
    }

Так все работает! :) НО не выполняется рисование в функции wf, которая привязана к окну...

Почему такое происходит?
spzero
UNец
 
Сообщения: 2
Зарегистрирован: 02 авг 2010, 16:33

Re: Проблема с GUI

Сообщение DbIMok 02 авг 2010, 18:32

OnGUI вызывается несколько раз в кадр и отрисовывает те элементы, которые вы говорите отрисовать. не воспринимайте их как нечто статическое и все сразу станет на свои места.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 8