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

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

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не раз сталкивался с подобными "багами", и, насколько понял своим недопрограммистским умом, тут имеет место последовательность обработки событий в течении "кадра". То есть события интерактивные, мыши и клавиатуры, обрабатываются первыми, а вовсе не ENTER_FRAME. Таким образом, когда Вы совершили клик, его обработчик выполнится ДО того, как будет продиспатчено событие ENTER_FRAME для текущего "кадра". В этом обработчике Вы делаете подписку на ENTER_FRAME, и в результате получаете первое событие в этом же кадре, еще ДО его перерисовки.
У меня совсем недавно была такая же проблема совсем не со scrollRect, а с кошерным и вроде бы безбажным addChild)) При клике на некую кнопочку должен был сохраняться скриншот: делался снимок стейджа в битмапдату, конвертация в PNG и сохранение через файлРеференс. Конвертация заметно притормаживала в фуллскрине, и я решил повесить модальное окошко, затемнение и надпись "обрабатываем..." Естественно, вызов конвертации я "перенес на другой кадр" через ентерфрейм. То есть окошко добавлялось на стейдж, и после этого вешался слушатель на ентерфрейм, в обработчике которого запускался процесс конвертации. Но не тут-то было - окошко появлялось на стейдже только после окончания конвертации, "в следующем кадре". Мистика? Баг? Отнюдь. Потому что событие ENTER_FRAME наступало еще в течении этого же кадра, сразу после выполнения обработчика клика, но ДО начала отрисовки. Таким образом и обработчик этого ентерфрейма начинал выполняться в этом же кадре – то есть запускалась конвертация в PNG, и только потом следовала отрисовка.
__________________
Reality.getBounds(this);

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

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

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


 


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


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