Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Завершение ресайза (http://www.flasher.ru/forum/showthread.php?t=164721)

igrik 18.08.2011 12:52

Завершение ресайза
 
есть событие Event.RESIZE:
Код AS3:

stage.addEventListener(Event.RESIZE, resizeHandler);

при ресайзе флешки вызывается resizeHandler, как отловить завершение ресайза?

in4core 18.08.2011 13:03

например таймером. Суешь таймер в resizeHandler - если в течении 3 секунд например ресайз не происходит - ловим событие остановки ресайза. Тока непонятно зачем это нужно

goodguy 18.08.2011 13:04

Ресайз чего? Всей сцены? Это и есть в данном случае Event.RESIZE.
После этого события уже будут доступны новые значения stageWidth и stageHeight

igrik 18.08.2011 13:06

Цитата:

Сообщение от in4core (Сообщение 1022822)
например таймером. Суешь таймер в resizeHandler - если в течении 3 секунд например ресайз не происходит - ловим событие остановки ресайза. Тока непонятно зачем это нужно

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

Добавлено через 3 минуты
Цитата:

Сообщение от goodguy (Сообщение 1022824)
...
После этого события уже будут доступны новые значения stageWidth и stageHeight

То есть постоянно проверять, не изменились ли stageWidth и stageHeight?

Genzo 18.08.2011 13:11

Цитата:

Чтобы при ресайзе менять качество для быстродействия, а затем возвращать его обратно.
Вешать на событие которое предшествует ресайзу изменение качества. Но я сомневаюсь ,что при этом вы выиграете в производительности , ибо при изменении качества вся графика перерисовывается заново , а при ресайзе только новая рисуется или вообще просто scale'ится.

Sergespb 18.08.2011 13:15

Я думаю тут было бы идеально каким-либо образом отловить событие MOUSE_UP после ресайза. Ведь именно этим и заканчивается ресайз.

КорДум 18.08.2011 13:17

Цитата:

Сообщение от Sergespb (Сообщение 1022836)
Я думаю тут было бы идеально каким-либо образом отловить событие MOUSE_UP после ресайза. Ведь именно этим и заканчивается ресайз.

С чего Вы взяли? Если ресайз совершается по нажатию мыши, то да.

wvxvw 18.08.2011 14:00

Если флешка ваша, и обработчик resize всего один, то он же и будет и первым и последним... Если вы не уверены, что обработчик всего один, то, я если честно, не совсем представляю, как это сделать, но и практического смысла в этом не вижу... Можете описать зачем это нужно?

igrik 18.08.2011 14:20

Цитата:

Сообщение от wvxvw (Сообщение 1022850)
Если флешка ваша, и обработчик resize всего один, то он же и будет и первым и последним... Если вы не уверены, что обработчик всего один, то, я если честно, не совсем представляю, как это сделать, но и практического смысла в этом не вижу... Можете описать зачем это нужно?

Не очень понял, обработчик один. Задача - менять stage.quality при ресайзе, а затем возвращать его обратно. Вопрос в том, как поменять его обратно, то есть среагировать на завершение события Event.RESIZE.

Genzo 18.08.2011 14:25

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

Цитата:

Можете описать зачем это нужно?


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

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