Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Window aspect ratio resize (http://www.flasher.ru/forum/showthread.php?t=149515)

$mival 26.01.2011 19:44

Window aspect ratio resize
 
привет!
нигде не нашёл ни в 3 ни в 4 флексе как можно пропорционально менять размер окна
если мы пытаемся самостоятельно обработать все изменения то кроме глюков ничего не получается
простейший пример, создаем новый AIR проект и подписываемся на NativeWindowBoundsEvent.RESIZE:

Код AS3:

private function doResizing(e:ResizeEvent):void
{                       
        var window:NativeWindow = this.nativeWindow;
 
        window.height = window.width;
}

тащу только правый край окна, по идее у нас должно быть постоянно квадратное окно но нет, окно дергается, размер присваивается некорректно, окно стремится вернуться к первоначальным размерам.
что делать?

wvxvw 26.01.2011 20:17

Тут еще много чего зависит от того, какой фреймворк "под" AIR используется и его настройки... в Виндовс можно настроить, что при ресайзе он диспатчится только тогда, когда пользователь отпустит мышку. То же самое возможно в Наутилусе (и наверно в Конкароре). Кроме того виста и старше используют схему отрисовки отличную от ХР (а на маках там тоже вроде какая-то кокоа есть :) )
В общем случае, наверное, проще будет не реагировать непосредственно на ресайз, а в, скажем, enterFrame отрисовывать окно (а в ресайзе записывать как изменилось и на сколько).

$mival 26.01.2011 21:50

в общем сделал Таймер на 1сек, получается что как когда я меняю ширину то высота постоянно сбрасывается на дефолтное, потом через секунду выполняется код и делает ширину как мне надо, снова двигаю размер вправо и высота опять сбрасывается.

Добавлено через 3 часа 41 минуту
проблема я надеюсь ясна?
может проще Chrome отключить и свой сделать?

то есть отключить системную рамку и сделать свою
работы только увеличится на порядок :(

$mival 05.02.2011 22:38

в общем проблема не решилась, сделали просто по-другому:
пока окно ресайзится ничего не меняем, делаем пропорциональный ресайз только после отпускания


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.