on (release) {
now = new Date();
trace("toString:" + now.toString());
trace("getDate:" + now.getDate());
trace("getDay:" + now.getDay());
trace("getFullYear:" + now.getFullYear());
trace("getHours:" + now.getHours());
trace("getMilliseconds:" + now.getMilliseconds());
trace("getMinutes:" + now.getMinutes());
trace("getMonth:" + now.getMonth());
trace(getSeconds:" + now.getSeconds());
trace("getTime:" + now.getTime());
trace("getTimezoneOffset:" + now.getTimezoneOffset());
trace("getYear:" + now.getYear());
trace("getUTCDate:" + now.getUTCDate());
trace("getUTCDay:" + now.getUTCDay());
trace("getUTCFullYear:" + now.getUTCFullYear());
trace("getUTCHours:" + now.getUTCHoursO);
trace("getUTCMilliseconds:" + now.getUTCMilliseconds());
trace("getUTCMinutes:" + now.getUTCMinutes());
trace("getUTCMonth:" + now.getUTCMonth());
trace("getUTCSeconds:" + now.getUTCSeconds());
}Следует обратить внимание на несколько моментов. Все функции UTC подразумевают, что система пользователя настроена на соответствующую временную зону. Для того чтобы получить всеобщее (по Гринвичу) время, необходимо добавить или вычесть определенное количество часов. Результатом выполнения функции getTime будет количество миллисекунд с 1 января 1970 года. Функция day обозначает день недели и задается числом от 0 до 6. Месяц представляет собой число от 0 до 11. Число выбирается из диапазона от 1 до 31. Возможно, все это трудно для понимания и запоминания, однако данные функции аналогичным образом задаются и в других языках программирования, например C и JavaScript. Вот результат выполнения всех функций trace:
toString:Sat Oct 14 18:47:06 GMT-0600 2000
getDate:14
getDay:6
getFullYear:2000
getHours:18
getMilliseconds:0
getMinutes:44
getMonth:9
getSeconds:7
getTime:971570647000
getTimezoneOffset:360
getYear:100
getUTCDate:15
getUTCDay:0
getUTCFullYear:2000
getUTCHours:0
getUTCMilliseconds:0
getUTCMinutes:44
getUTCMonth:9
getUTCSeconds:7Вы можете задать любой элемент объекта Date. Каждая функция, начинающаяся с get, имеет соответствующую ей функцию, начинающуюся с set. К примеру, для установки часа используется функция setHour(newHour). Имейте в виду, что это приведет к изменению только объекта Date, к которому вы обратились, а не системных часов пользователя. При создании нового объекта Date время в нем будет установлено в соответствии с системными часами.
Подготовка ролика
При помощи объекта Date можно создать интересные часы. Переводя значения часов, минут и секунд текущего времени в градусы, вы можете задать параметр _rotation трех различных клипов таким образом, чтобы они двигались, как стрелки часов.
На рис. 6.10 показан внешний вид таких часов. Короткая рука обозначает часовую, длинная – минутную, а хвост – секундную стрелки.
На рисунке не видно, что руки (и хвост) часов двигаются подобно стрелкам настоящих часов. Эти действия выполняются в три этапа. Вначале полученное значение текущего времени помещается в переменные hour, minute и second. Затем значения этих переменных преобразуются в значения углов. Далее полученные значения используются для задания параметра _rotation трех клипов, представляющих руки и хвост.
Создание кода
Код, который выполняет все вышеописанные действия, – это сценарий onClipEvent (enterFrame), помещаемый в клип. Код можно посмотреть в файле Simpleclock.fla на Web-сайте.