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

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

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Attention Чертовы Event.RENDER и Stage.invalidate()...

Салют!

У меня не вопрос, а констатация факта. Но так как блог не веду, напишу здесь - может кому пригодиться.

Недавно наблюдал на форуме тему, посвященную сабжу. Товарищ iNils красочно описал прелести использования приема отложенной прорисовки. Решил испробовать самостоятельно. Все было очень круто, но вот возникла ситуйовина...

Не буду описывать все мои страдания и перейду сразу к делу. Во время обработки Event.RENDER мне понадобилось вызвать Stage.invalidate() и... ничего Новое событие так и не было отправлено. Заменил подписку с Event.RENDER на Event.ENTER_FRAME и все заработало.

Ситуация кажется логичной, но не совсем явной. Сколько не долби Stage.invalidate(), за один кадр можна получить одно Event.RENDER. Но если дернуть Stage.invalidate() после Event.RENDER и до наступления следующего кадра, тогда запрос вылетит в трубу. Короче, после наступления Event.RENDER следует дождаться следующего кадра прежде, чем провоцировать выброс нового события.

Все, пошел спать!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Разве в этой теме не была подробно разобрана данная проблема?
__________________
Reality.getBounds(this);

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

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

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


 


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


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