Руководство по actionscript. часть 4, стр. 121

Постсобытийные обновления для событий таймера

Для того чтобы разрешить обновление экрана сразу после истечения некоторого произвольного интервала времени, язык ActionScript предоставляет метод TimerEvent. updateAf terEvent ( ), который вызывает постсобытийное обновление экрана после возникновения события TimerEvent. TIMER.

Указанный метод точно так же используется внутри функций-приемников события TimerEvent. TIMER, как и методы MouseEvent. updateAf terEvent ( ) и KeyboardEvent. updateAf terEvent ( ) внутри функций-приемников событий мыши и клавиатуры.

Для демонстрации использования метода Time г Event. updateAf terEvent ( ) создадим расширенный пример, который генерирует событие TimerEvent. TIMER в десять раз чаще, чем скорость кадров среды выполнения Flash. Мы начнем с установки скорости, равной одному кадру в секунду:

stage. frameRate = 1:

Далее мы создаем объект Timer, который осуществляет диспетчеризацию события TimerEvent. TIMER каждые 100 мс (10 раз в секунду):

var timer:Timer = new TimerdOO, 0);

Затем мы регистрируем функцию-приемник timerListener ( ) в объекте timer для событий TimerEvent. TIMER, как показано в следующем коде:

timer. addEventListener(TimerEvent. TIMER, timerListener);

После этого мы запускаем таймер:

timer. start( );

Теперь внутри функции timerListener ( ) рисуем прямоугольник и помещаем его в случайное место на экране. Для того чтобы гарантировать, что прямоугольник появится на экране сразу после завершения процесса диспетчеризации события TimerEvent. TIMER (а не на следующем запланированном этапе обновления экрана), мы используем метод TimerEvent. updateAf terEvent ( ) для запроса постсобытийного обновления экрана. Рассмотрим получившийся код для метода timerListener ( ):

private function timerListener (e:TimerEvent):void { // Создаем прямоугольник var rect:Sprite = new Sprite( ); rect. graphi cs.1i neStyle(1); rect. graphics. beginFill(OxOOOOFF); rect. graphics. drawRect(0, 0, 150, 75);

rect. x = Math. floor(Math. random( )*stage. stageWidth); rect. у = Math. f1oor(Math. random( )*stage. stageHeight);

// Добавляем прямоугольник на экран addChild(rect):

// Запрашиваем постсобытийное обновление экрана e. updateAfterEvent( );

}

В результате такого вызова метода TimerEvent. updateAf terEvent ( ) отображение визуальных изменений, вносимых внутри метода timerListener ( ), происходит приблизительно каждые 100 мс, а не раз в секунду.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 114
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.11
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.37
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 056
  • 23.04.2012">Почта Mail.Ru полностью перешла на безопасный протокол HTTPS
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 001
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 062
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.24
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.102
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.130
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 107
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 053
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 002
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.61
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.20
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...