Руководство по actionscript. часть 4, стр. 146
Листинг 24.6. Мигающий текст
package { import flash. display. TextField; import flash. util. Timer; import flash. events.*;
public class BlinkText extends TextField { private var timer-.Timer;
public function BlinkText (delay:Number = 1000) { timer = new Timer(delay, 0);
timer. addEventListener(TimerEvent. TIMER, timerListener); timer. start( );
}
private function timerListener (e:TimerEvent):void { // Скрываем данный объект, если в настоящее время он отображается // на экране; или отображаем данный объект, если в настоящее время // он скрыт, visible = Ivisible;
e. updateAfterEventC );
}
public function setDelay (newDelay:Number):void { timer. del ay = newDelay;
}
public function startBlink ( ):void { timer. start( );
}
public function stopBlink ( ):void { visible = true; timer. stop( );
}
}
}
Влияние скорости кадров на таймеры. Хотя на первый взгляд может показаться, что класс Timer предоставляет абсолютно независимый способ для выполнения некоторой функции через определенный интервал времени, он, как бы удивительно это ни звучало, все равно зависит от скорости кадров среды выполнения Flash. Событие TimerEvent. TIMER может возникать не чаще десяти раз для каждой проверки запланированного обновления экрана (то есть в десять раз чаще скорости кадров). Например, если скорость кадров равна 1 кадру в секунду, событие TimerEvent. TIMER может возникать в лучшем случае каждые 100 мс, даже когда для параметра delay объекта Timer указано меньшее значение. Для скорости, равной 10 кадрам в секунду, событие TimerEvent. TIMER может возникать 100 раз в секунду (каждые 10 мс). Для скорости, равной 100 кадрам в секунду, событие TimerEvent. TIMER может возникать 1000 раз в секунду (каждую 1 мс).