Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2011, 11:23
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 1  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
Question Порядок выполнения AS3 кода.

Здравствуйте! Подскажите, пожалуйста!
Есть код:
Код AS3:
mx.managers.PopUpManager.addPopUp(myPopUp, this, true);
// "какой-то код"
Как заставить "какой-то код" выполняться после добавления myPopUp на сцену?

Старый 25.02.2011, 11:50
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
В самом myPopUp

Код AS3:
creationComplete="init(event)"
 
private function init(event:Event):void
			{
				//your code;
			}

Старый 25.02.2011, 19:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Так вот там, где вы написали (в комментарии), и будет после того, как попап добавили на сцену. Только не нужно писать имена классов с пакетами:
Код AS3:
mx.managers.PopUpManager.addPopUp();
->
перед описанием класса:
Код AS3:
import mx.managers.PopUpManager;
внутри класса:
Код AS3:
PopUpManager.addPopUp();
__________________
Hell is the possibility of sanity

Старый 28.02.2011, 10:53
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 4  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
Astraport,
При добавлении myPopUp на сцену методом mx.managers.PopUpManager.addPopUp()
событие в myPopUp:
Event.INIT - не происходит
Event.ADDED - происходит до визуального добавления myPopUp на сцену
Event.ADDED_TO_STAGE - происходит до визуального добавления myPopUp на сцену
Event.ACTIVATE - не происходит
Event.COMPLETE - не происходит
Event.OPEN - не происходит
FlexEvent.CREATION_COMPLETE - не происходит
FlexEvent.INIT_COMPLETE - не происходит
FlexEvent.INITIALIZE - не происходит
FlexEvent.SHOW - не происходит
FlexEvent.ADD - происходит до визуального добавления myPopUp на сцену
FlexEvent.VALID - не происходит...
Устал перебирать... Есть ещё варианты?

wvxvw,
Нет. Это не так. В комментарии "энергоёмкий" код, и сперва выполняется он, а потом, с задержкой, на сцене появляется PopUp, который должен оповещать пользователя об этой самой задержке.

Старый 28.02.2011, 11:44
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Event.INIT - не происходит
С чего ему происходить? Это событие отправляется LoaderInfo при инициализации загрузки.
Цитата:
Event.ADDED - происходит до визуального добавления myPopUp на сцену
Событие отправляется при добавлении объекта в контейнер.
Цитата:
Event.ADDED_TO_STAGE - происходит до визуального добавления myPopUp на сцену
Объект добавлен на сцену, но updateDisplayList у него еще не вызван.
Цитата:
FlexEvent.CREATION_COMPLETE - не происходит
FlexEvent.INIT_COMPLETE - не происходит
FlexEvent.INITIALIZE - не происходит
Они уже произошли, вы передаете в PopUpManager уже готовый компонент.
Цитата:
FlexEvent.SHOW - не происходит
Отправляется при изменении visible

Устал расписывать, читайте про события.

Цитата:
Нет. Это не так.
Это так. Попап добавлен на сцену, просто еще не отрисован.
Цитата:
В комментарии "энергоёмкий" код
"энергоёмкий" код можно разбить на несколько не "энергоемких" и выполнить по ENTER_FRAME, например. Или вы предпочитаете подвисающие приложения? Или используйте createPopUp и отлавливайте CREATION_COMPLETE или слушайте UPDATE_COMPLETE.


Последний раз редактировалось alatar; 28.02.2011 в 11:48.
Старый 28.02.2011, 18:11
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 6  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
alatar, спасибо за ответ!
Изучать события гораздо дольше, нежели перебрать варианты для конкретного случая.

Разбиения операций по кадрам мне не требуется, но наоборот, требуется скорейшее выполнение кода (код выполняется по закрытию приложения пользователем и время отклика должно быть минимальным).
А метод createPopUp я не могу применить, потому что просто не знаю, как преобразовать IFlexDisplayObject в Class...

Цитата:
Это так. Попап добавлен на сцену, просто еще не отрисован.
вы уже сыты, просто ещё не пообедали.

Старый 28.02.2011, 18:25
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Изучать события гораздо дольше, нежели перебрать варианты для конкретного случая.
Брутфорс программирование?
Цитата:
потому что просто не знаю, как преобразовать IFlexDisplayObject в Class...
Вы же как-то создали, то что у вас в myPopUp.
Цитата:
вы уже сыты, просто ещё не пообедали.
Про жизненный цикл компонентов хоть что нибудь слышали?

Старый 28.02.2011, 18:39
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 8  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
1. Нет, иезуитство: все средства хороши
2. Этот элемент создан в визуальной среде Flash Builder-а и уже находится на сцене.
3. Кажется я ясно выразился, что мне необходимо своевременное получение визуального представления элемента PopUp.

Старый 28.02.2011, 18:51
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 9  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
мне необходимо своевременное получение визуального представления элемента PopUp.
Кажется я ясно выразился, слушайте UPDATE_COMPLETE.

Старый 28.02.2011, 18:59
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 10  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
alatar, ещё раз спасибо за ответ!

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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