Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как из одного класса в другой передать ProgressEvent URLLoadera? (http://www.flasher.ru/forum/showthread.php?t=184046)

Abdilxamidov 08.09.2012 22:02

как из одного класса в другой передать ProgressEvent URLLoadera?
 
как из одного класса в другой передать ProgressEvent URLLoadera?

КорДум 08.09.2012 22:11

В экземпляре одного класса продиспатчить, в другом словить.

Abdilxamidov 08.09.2012 22:21

вот в одном классе Apparat
Код AS3:

dispatchEvent(new ProgressEvent(Apparat.DATA_1_2_PROGRESS, true));

в другом ловлю
Код AS3:

private var Apparat1:Apparat = new Apparat();
...
Apparat1.addEventListener(Apparat.DATA_1_2_PROGRESS, dataLoading);
private function dataLoading(e:ProgressEvent):void {
 
}

Не пойму, как поймать сам процесс загрузки? по e.bytesLoaded?

Krusty 08.09.2012 22:36

Цитата:

Не пойму, как поймать сам процесс загрузки?
Что именно подразумевается? % загруженного? Частота событий? Визуальное отображение?

Abdilxamidov 08.09.2012 22:45

Уточню, вот может я что-то не туда вписал:
Вот есть одни класс Apparat, в нем вот обработчик URLLoadera

Код AS3:

private function progress_phpLoader(e:ProgressEvent):void {
  dispatchEvent(new ProgressEvent(Apparat.DATA_1_2_PROGRESS, true));
}

Вот есть другой класс, в нем пишу:
Код AS3:

private var Apparat1:Apparat = new Apparat();
...
Apparat1.addEventListener(Apparat.DATA_1_2_PROGRESS, dataLoading);
private function dataLoading(e:ProgressEvent):void {
 
}

Так вот вопрос, в какой переменной будет хранится кол-во загружающейся информации и общий объем к загрузке?

КорДум 08.09.2012 22:46

В "e" же.

Krusty 08.09.2012 23:39

e нету, он же его не пробрасывает, а создает новое событие.

Abdilxamidov, если вам нужны доступы к свойствам события в новом обработчике dataLoading, то е нужно пробросить, целиком или только нужные данные.

КорДум 08.09.2012 23:42

Цитата:

e нету, он же его не пробрасывает, а создает новое событие.
Угу. Либо "клонировать", скопировав в него данные того оригинального е. То есть, грубо говоря, сделать то же самое, что делается при "пробросе", только ручками.

Abdilxamidov 09.09.2012 00:18

Цитата:

Сообщение от Krusty (Сообщение 1095264)
e нету, он же его не пробрасывает, а создает новое событие.

Abdilxamidov, если вам нужны доступы к свойствам события в новом обработчике dataLoading, то е нужно пробросить, целиком или только нужные данные.

Да, проверил, в е нету. Подскажите, пожалуйста, как это, "пробросить"? Вы могли бы привести пример кода в первом и втором классе?

Krusty 09.09.2012 00:40

Код AS3:

private function progress_phpLoader(e:ProgressEvent):void {
var temp_event:ProgressEvent=new ProgressEvent(Apparat.DATA_1_2_PROGRESS, true);
temp_event.свойство=e.свойство;// что вам надо
dispatchEvent(temp_event);
}

вроде того, если угодно


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

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