![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
Сделала резиновый баннер. Все работает прекрасно, но когда проверяю его в браузере начинается глюк: нажимаю на фулскрин и рестор даун, элементы оказываются на кривых местах, все исправляется путем ресайза. Но мне нужно, естественно, чтобы все всегда было на своих местах. Возможно есть еще какая-то функция, кроме onResize? Как правильно подойти к этому?
Stage.scaleMode = "noScale"; Stage.align = "LT"; onResize = function() { if (Stage.width>768) { obj2._x = obj1._width; obj3._x = obj1._width+obj2._width+4; obj4._x = obj6._x+(obj6._width/2)-obj4._width; obj5._x = (obj6._x+obj4._width)+(obj6._width/2+obj4._width/2)-obj5._width; obj6._x = obj1._width+obj2._width+obj3._width; maska._width = Stage.width; stroke._width = Stage.width-1; }; if (Stage.width<=768) { obj2._x = obj1._width; obj3._x = obj1._width+obj2._width+4; obj6._x = obj1._width+obj2._width+obj3._width; maska._width = Stage.width; stroke._width = Stage.width-1; }; if (Stage.width>884) { redtext._x = (obj3._width*2)+10; bluetext._x = obj2._width+15; }; if (Stage.width<884) { redtext._x = (obj3._width*2)-15; bluetext._x = obj2._width-15; }; } Stage.addListener(this); ![]() |
|
|||||
|
Модрон-ветеринар
|
Есть такая функция. Точнее событие, которое можно обработать.
Выполняйте то, что у вас выполняется на onResize, также при выполнении восстановления оконного режима. Отследить переход к обычному показу можно с помощью соотв. обработчика т.е. bFull когда становится false. Попробуйте: Stage.scaleMode = "noScale"; Stage.align = "LT"; Stage.addListener(this); this.onResize = resizeAll; this.onFullScreen = function(bFull:Boolean) { if (bFull == false) { resizeAll(); } }; function resizeAll() { if (Stage.width>768) { obj2._x = obj1._width; obj3._x = obj1._width+obj2._width+4; obj4._x = obj6._x+(obj6._width/2)-obj4._width; obj5._x = (obj6._x+obj4._width)+(obj6._width/2+obj4._width/2)-obj5._width; obj6._x = obj1._width+obj2._width+obj3._width; maska._width = Stage.width; stroke._width = Stage.width-1; }; if (Stage.width<=768) { obj2._x = obj1._width; obj3._x = obj1._width+obj2._width+4; obj6._x = obj1._width+obj2._width+obj3._width; maska._width = Stage.width; stroke._width = Stage.width-1; }; if (Stage.width>884) { redtext._x = (obj3._width*2)+10; bluetext._x = obj2._width+15; }; if (Stage.width<884) { redtext._x = (obj3._width*2)-15; bluetext._x = obj2._width-15; }; }
__________________
Идите первым! Последний раз редактировалось mooncar; 17.12.2010 в 13:20. |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
Спасибище!!!
![]() А если я не восстанавливаю режим, а наоборот жму из фулскрина, есть название для этого? on...?Добавлено через 1 минуту Вообще сейчас тестирую оч странная ситуация: 1. Флэшка открывается: вид нормальный. 2. Жму фулскрин - криво 3. Ухожу из фулскрина - криво 4. Жму фулскрин - вид нормальный О_О 5. Ухожу из фулскрина - вид нормальный!!! Елки )))) |
|
|||||
|
Модрон-ветеринар
|
Ну разбирайтесь.
Скорее всего надо поправлять-восстанваливать все и на фулскрин, и корректировать при ресайзе. А в ответ на ваш вопрос - bFull будет false, когда переход в обычный режим и true - когда в оконный.
__________________
Идите первым! |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
Получается нужно написать еще описание одних и тех же параметров два раза под два условия? Наверняка есть способ проще.
|
|
|||||
|
Модрон-ветеринар
|
При фулскрне видимая область - сцена и ее новое расположение относительно краев монитора - это один случай (зависит от разрешения экрана и пропорций флешки).
При ресайзе в оконном режиме - другие изменения происходят, произвольные, зависящие от желания пользователя, от того как вы опубликовали флешку, видимая область также меняется. Ну вот тема была: http://www.flasher.ru/forum/showthread.php?t=107913 Возможно, не ваш случай касательно "криво", но может что-то полезное будет для вас. Вообще как и что менять - это ваше дело. Функцию же на ресайз вы написали. А я вам просто подсказал, какое событие можно использовать для отслеживания переходов в фулскрин и обратно. Если будете делать корректировку при переходе в фулскрин - вероятно вам как-то нужно запоминать исходные положения объектов до перехода в фулсрин и восстанавливать их при возврате к оконному режиму. Т.е. записать возвраты эти в функцию onFullScreen. Например, при нажатии вашей кнопки или по какому-то вашему событию перехода в фулскрин запоминать исходные положения, размеры если надо, а когда идет возврат, т.е.:
__________________
Идите первым! Последний раз редактировалось mooncar; 17.12.2010 в 14:51. |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
у меня такое ощущение, что он вообще игнорирует все, что касается фулскрина: меняю значения - все то же самое
|
|
|||||
|
Модрон-ветеринар
|
При переходе в фулскрин вы отслеживаете в функции, когда bFull становится true?
Да, в тестовой среде не проверять! Запускайте саму SWF-ку или из браузера.
__________________
Идите первым! Последний раз редактировалось mooncar; 17.12.2010 в 16:07. |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
Да, я проверяю в браузере.
Писала даже просто трэйс на фулскрин - игнорирует. Наобум написала вместо onFullScreen работает при фулскрине О_О На restore down продолжает косячить: не ресайзиться обратно, но все элементы на своих местах Добавлено через 67 часов 16 минут и никто мне не скажет, что я поступаю неправильно, да? ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|