forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D/GUI (http://forum.boolean.name/forumdisplay.php?f=167)
-   -   GUI и Screen (http://forum.boolean.name/showthread.php?t=15699)

Nazgul 22.10.2011 23:26

GUI и Screen
 
Столкнулся с такой проблемой: Необходимо изменять положение окна GUI
после того, как пользователь сменил разрешение экрана. Меню располагается в правом нижнем углу. Код выглядит следующим образом:
PHP код:

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 просто не успевают измениться.
Подскажите, каким образом это исправить?

Lestar 23.10.2011 00:37

Ответ: GUI и Screen
 
Перенести выполнение window.setXY в следующий фрейм. Написано же,что выполнение происходит до конца текущего фрейма.

pax 23.10.2011 03:21

Ответ: GUI и Screen
 
Если функция может быть выполнена с задержкой, то можно так:
PHP код:

Screen.SetResolutionширинавысота); 
yield return 
null;
window.setXY(Screen.width window.width 20
                    
Screen.heght window.height 20); 


Nazgul 23.10.2011 08:50

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


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot