Хотите украсить свою страничку или flash-ролик
симпатичными часиками? Если ДА, то этот урок будет
полезен для вас, а
если НЕТ - все равно в будущем пригодиться. Итак,
начнем.
Цифровые часы
Сейчас мы научимся делать простейшие цифровые
часы, которые будут отображать часы, минуты и
секунды.
Сначала создайте на главной сцене динамическое
текстовое поле и назовите его "tpole".
![](1111.gif)
Затем добавьте первому кадру такой скрипт:
time = new Date();
s = time.getSeconds();
m = time.getMinutes();
h = time.getHours();
if (s<10) {
s = "0"+s;
}
if (m<10) {
m = "0"+m;
}
if (h<10) {
h = "0"+h;
}
tpole = h+":"+m+":"+s;
В первой строчке мы создаем новый объект "time" с
использованием конструктора new. После выполнения
данной строки
из нового объекта "time" можно вернуть значение
года, месяца, даты, часов, минут, секунд и
миллисекунд. В следующих
строчках мы присваеваем переменым "s", "m" и "h"
соответственно значение секунд, минут и часов с
использованием
метода "get" из недавно созданного нами оъекта "time".
Далее с помощью оператора "if" мы задаем условие
каждой
переменной, что если её значение меньше 10, то
перед ней должен ставиться нуль, иначе может
получиться следующее:
10:25:9 или 9:2:4. А это не совсем красиво. Ну а в
последней строчке мы выводим все полученные
значения в
динамическое текстовое поле "tpole", причем знак
":", чтобы разделять часы с минутами, а минуты с
секундами, мы
должны поставить в кавычках, как обычный текст.
Для обновления данных мы должны на 2-ом кадре
нажать F5.
![](2222.gif)
Все! Цифровые часы готовы. Видите, как легко! А
сколько пользы они могут принести....
Циферблатные часы
А сейчас мы создадим часы, у которых будет
часовая, минутная и секундная стрелочки, как это
бывает у обычных и
необычных циферблатных часов.
Нарисуйте окружность, которя будет являться
циферблатом ваших часов. По желанию, можно
поставить деления, чтобы
было точно понятно какое время.
Затем создайте еще один слой (под слоями кнопка с
плюсом). Нарисуйте в нем часовую, минутную и
секундную стрелки.
Конвертируйте каждую из них в мувиклип с помощью
клавиша F8. В панели "Instance"[Ctrl+I] часовую
стрелку назовите
"hour", минутную - "min", а секундную - "sec".
Расположите каждую стрелку вертикально вверх, так
чтобы её низ находился
в самом центре нарисованного циферблата.
![](4444.gif)
Первому кадру любого слоя добавьте этот скрипт:
time = new Date();
s = time.getSeconds();
m = time.getMinutes();
h = time.getHours();
setProperty ("min", _rotation, m*6+s*0.1);
setProperty ("sec", _rotation, s*6);
setProperty ("hour", _rotation, h*30+m*0.5);
Первые четыре строчки я уже пояснил (см. цифровые
часы). Давайте разберемся с тремя последнеми.
Третья снизу строчка, поворачивает вашу минутную
стрелочку с помощью функции "_rotation" на
градусы, значение
которых вычисляется выражением "m*6+s*0.1", где m
- минуты, а s - секунды. Вторая снизу строчка
поворачивает вашу
секундную стрелку на градусы, значение которых
вычисляется выражением "s*6", где s - секунды. Ну
а последняя строчка
поворачивает вашу часовую стрелку на значение
выражения "h*30+m*0.5".
Для обновления данных нажмите в верхнем и нижнем
слое клавишу F5.
![](3333.gif)
В создании циферблатных часов тоже ничего сложного
нет, как и в создании цифровых.
| | |
|