Определение времени, прошедшего с начала проигрывания фильма

Класс Date появился в ActionScript во Flash 5. До этого скриптовый язык Flash не был объектно-ориентированным. Но минимальные возможности по работе со временем имелись уже во Flash 4.

Тогда их носителем была одна-единственная функция getTimer(). Данная функция возвращает число, хранящее количество миллисекунд, прошедших с начала проигрывания фильма. Используя getTimer(), можно решать несколько типов задач.

• Контроль времени проигрывания фильма. Скорее гипотетическая, нежели практическая задача. Но несколько ее разновидностей все же существует. Например, вы можете показывать пользователю, сколько он уже провел времени на данном ресурсе или заданной игрой.

• Измерение отрезков времени. Основная задача, для решения которой применяется функция getTimer(). В рамках этой книги мы не раз использовали данную функцию, чтобы измерить время выполнения некоторого кода.

В общем функцию getTimer() практически всегда можно заменить объектами класса Date. Однако у нее есть ряд преимуществ, которые делают ее вполне конкурентоспособной:

• метод getTime() класса Date способен фиксировать изменение времени лишь шагами по 10 миллисекунд.


Функция же getTimer() имеет точность работы до 1 миллисекунды. Это весьма важное достоинство, например, при сравнении эффективности разных вариантов одного и того же алгоритма;

• функция getTimer() в большей степени подходит для использования в циклически воспроизводимых фильмах;

• функция getTimer() более проста в использовании, чем класс Date. Код, в котором она применяется, получается более коротким, его выполнение требует меньше операций. Для примера использования функции getTimer() проверим, насколько часто возникает событие onMouseMove при непрерывном движении указателя мыши:

var last_time:Number=getTimer();
this.onMouseMove=function():Void {
var current_time:Number=getTimer();
trace(current_time-last_time);
last_time=current_time;
}; // Выводит: 10 10 10 10...

Таким образом, частота возникновения события onMouseMove весьма высокая — более 100 событий в секунду. Несложно убедиться, что данная частота не зависит от скорости смены кадров в фильме.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Класс Date
Компьютерное время
Методы класса Date
Основные понятия теории измерения времени

Вернуться в раздел: Action Script / 14. Время и дата