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

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

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

Регистрация: May 2010
Сообщений: 17
Attention addEventListener выполнение сразу

Уважаемые форумчани, у меня появился к вам такой вопрос.
Возможно ли сделать так чтобы addEventListener отрабатывал сразу а не только когда Event.COMPLETE
К примеру у меня такая конструкция.
шапка
Код AS1/AS2:
private var object							: Bitmap;
.......
тело
Код AS3:
		private function wrapper(data:Bitmap):Bitmap
		{
			var bitmap:ByteArray;
			var loc6:*;
			trace('На входе размер', (data.loaderInfo.bytesTotal/1000),' байт');
			var timer_1:int = getTimer();
			bitmap = data.bitmapData.getPixels(new Rectangle(0,0, data.bitmapData.width, data.bitmapData.height));
			loc6 = as3_jpeg_wrapper.write_jpeg_file(bitmap, data.bitmapData.width, data.bitmapData.height,quality,quality);
			trace("JPEG ENCODING: "+(getTimer()-timer_1)+" ms.");
			trace('На выходе размер', (loc6.length/1000), ' байт');
			trace('***************************');
			convecter2(loc6);
			trace('-------');
			return object;
		}
 
 
private function convecter(data:ByteArray):void {
var ldr:Loader=new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, pictureComplete);
ldr.loadBytes(data);
 
}
 
private function pictureComplete(e:Event):void {
 var ldr:Loader = Loader(e.target.loader);
 trace(ldr.width, 'x', ldr.height);
 trace((ldr.contentLoaderInfo.bytesTotal/1000000),'MB');
 trace('Это дданые из лоадера'); 
 object = e.target.content;
//e.target.content.bitmapData будет хранить битмапдату
}
В консоле вижу

Код:
На входе размер 2851.828  байт
setting up as3_jpeg_wrapper library
JPEG ENCODING: 4752 ms.
На выходе размер 876.335  байт
***************************
-------
3264 x 2448
0.876335 MB
Это данные из листенера
То есть addEventListener сработал в самом конце.
Возможно ли сделать так чтобы он отрабатывал сразу при вызове, так как у меня еще куча других функций, которые завязаны на этой.


Последний раз редактировалось wir_wolf; 07.05.2010 в 04:40.
Старый 07.05.2010, 05:36
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
addEventListener сработал ровно там, где он у Вас написан. а вот dispatchEvent произошёл "в самом конце". и по другому это никак нельзя сделать.

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

Регистрация: May 2010
Сообщений: 17
А как же мне быть в этой ситуации, я уже даже отдельный класс создал, и все ровно без результатно=(

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А зачем вы переменную loc6 назвали?
__________________
Hell is the possibility of sanity

Старый 07.05.2010, 19:29
wir_wolf вне форума Посмотреть профиль Отправить личное сообщение для wir_wolf Найти все сообщения от wir_wolf
  № 5  
Ответить с цитированием
wir_wolf

Регистрация: May 2010
Сообщений: 17
Какая разница?
Проблема то не в переменных..=(

Старый 07.05.2010, 19:46
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
попахивает декомпилом, нэ?
__________________
тут я

Старый 07.05.2010, 19:52
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 7  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Цитата:
Сообщение от wvxvw Посмотреть сообщение
А зачем вы переменную loc6 назвали?


Цитата:
Проблема то не в переменных..=(
Проблема не в переменных, а в понимании работы асинхронных событий.
Сначала у вас исполняется код, содержащий addEventListener, который подписывается на событие. Потом проходит энное количество времени, возникает событие, и на него срабатывает обработчик. Сделать так, как вы хотите - чтобы обработчик отрабатывал до завершения текущего блока - не получится.
__________________
тонкий тролль, осеянный благодатью

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да, еще, на всякий случай, в одном мегабайте миллион байт бывает только тридцать первого июня, ночью
__________________
Hell is the possibility of sanity

Старый 08.05.2010, 00:28
wir_wolf вне форума Посмотреть профиль Отправить личное сообщение для wir_wolf Найти все сообщения от wir_wolf
  № 9  
Ответить с цитированием
wir_wolf

Регистрация: May 2010
Сообщений: 17
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Да, еще, на всякий случай, в одном мегабайте миллион байт бывает только тридцать первого июня, ночью
Упс.
Тогда какие еще есть варианты перевести Байт аррей в Битмап дату?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А при чем тут одно к другому?
В одном килобайте 1024 байтов, в одном мегабайте 1024 килобайтов.
А у битмапдаты есть метод setPixels().
__________________
Hell is the possibility of sanity

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

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

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


 


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


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