Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > 2D/GUI

2D/GUI Вопросы на тему 2D графики и интерфейсов

Ответ
 
Опции темы
Старый 22.10.2011, 23:26   #1
Nazgul
Нуждающийся
 
Регистрация: 14.01.2011
Сообщений: 72
Написано 9 полезных сообщений
(для 44 пользователей)
GUI и Screen

Столкнулся с такой проблемой: Необходимо изменять положение окна GUI
после того, как пользователь сменил разрешение экрана. Меню располагается в правом нижнем углу. Код выглядит следующим образом:
Screen.SetResolutionширинавысота);
window.setXY(Screen.width window.width 20,
                    
Screen.heght window.height 20); 
window - класс окна.
Окно не перемещается в нужную позицию, а остается прежней.
В справке про функцию Screen.SetResolution написано:
A resolution switch does not happen immediately; it will actually happen when the current frame is finished.
Эта функция срабатывает не мгновенно. Предполагаю что Screen.width и Screen.height просто не успевают измениться.
Подскажите, каким образом это исправить?
(Offline)
 
Ответить с цитированием
Старый 23.10.2011, 00:37   #2
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: GUI и Screen

Перенести выполнение window.setXY в следующий фрейм. Написано же,что выполнение происходит до конца текущего фрейма.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 23.10.2011, 03:21   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: GUI и Screen

Если функция может быть выполнена с задержкой, то можно так:
Screen.SetResolutionширинавысота); 
yield return 
null;
window.setXY(Screen.width window.width 20
                    
Screen.heght window.height 20); 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 23.10.2011, 08:50   #4
Nazgul
Нуждающийся
 
Регистрация: 14.01.2011
Сообщений: 72
Написано 9 полезных сообщений
(для 44 пользователей)
Ответ: GUI и Screen

Помогло. надо было повнимательней прочитать твой туториал про
Coroutine - сам бы додумался. Большое спасибо!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 11:17.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com