Показать сообщение отдельно
Старый 08.12.2012, 12:58
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 32  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
Допустим ты подписан на Event.ENTER_FRAME.
Там ты изменил width, там новое значение записалось в _width и для changed выставилось true, что в свою очередь вызвало stage.invalidate (), но пересовки нет.
Потом ты изменил height и там произошло тоже самое, что и с width.
Далее выполняется еще какой-то то код.
Но вот, все выполнилось. И плеер собирается перерисовать экран, то тут он видит, что был вызван stage.invalidate () и поэтому он посылает Event.RENDER, который у твоего объекта вызывает метод redraw и где ты стираешь graphics и рисуешь его заново.
Это всё понятно. Опять возвращаемся к началу. Почему если вызвать width/height по разу в ENTER_FRAME объект перерисуется дважды, но если то же самое сделать в Event.RENDER – объект перерисуется один раз? Когда происходит первая отрисовка, когда происходит вторая, и почему в случае с инвалидацией перерисовка происходит только раз?