Название: Часы Отправлено: Sonjaaa от 06 Апреля 2008, 03:52:32 В данном примере решила показать, как быстренько сделать движение стрелок часов, показывающие время на компьютере пользователя.
Оперируя с данными переменными можно легко отобразить текущую дату, изменять приветствие в презентации в зависимости от времени суток и многое другое, где нужна реакция на реальное время...(вид за окном, освещение и т.п.) P.S.: не думаю, что у кого-то установлено на компьютере неправильное время ;) Название: Clock.rar Размер: 855.52 кб Ссылка для скачивания файла: http://ifolder.ru/6036000 Название: Re: Часы Отправлено: Ovod от 06 Апреля 2008, 13:16:33 Хехех) Как раз очень-таки даже наоборот, может) У меня на домашней машине время на час вперед, дома я живу по московскому времени)
Спасибо за отличный пример, у меня все работает. Не совсем, правда, понимаю, откуда берутся параметры времени ::) Название: Re: Часы Отправлено: Sonjaaa от 06 Апреля 2008, 20:17:51 Хехех) Как раз очень-таки даже наоборот, может) У меня на домашней машине время на час вперед, дома я живу по московскому времени)... Не совсем поняла, что это значит и зачем... но не суть. Время, которое отображается - это время, установленное на компьютере. ... Не совсем, правда, понимаю, откуда берутся параметры времени ::) Впервые столкнулась с данной задачей, когда делала screensaver для одной компании, в котором должны были отображаться часы, дата, день недели и меняться обстаконовка на экране на протяжении дня. И, что касается времени, нашла для себя вот такой подход. Распишу для данного примера, как я делаю анимацию вращения стрелок и откуда берутся параметры времени. (Для секундной стрелки) Когда готова модель часов и загружены отдельно стрелки, которые будут двигаться, приступаем к их анимации. ВАЖНО: обратить внимание на центр поворота стрелок и ось вращения; все стрелки на 12 часов, т.е. угол поворота равен 0. Так как вся анимация построена на вращении стрелки, мы будем изменять величину поворота объекта(стрелки) по нужной нам оси в зависимости от времени. Чтобы получить параметры времени, воспользуемся каналом TextOperator, в свойствах которого выбираем Time/date to string(format text) (отображение даты и времени в различных формах в текстовом формате) и так как нам нужно время только в виде секунд, добавим как вводную нод Text с текстом %S (%S - для секунд, %M - для минут, %H - для часов; подробнее о вводных можно посмотреть в справке, выделив нод TextOperator и нажав F1). В результате мы имеем текстовую строчку (string), в которой отображаются секунды на данный момент времени. Для того, чтобы можно было работать с этими данными переведем текст в циферки, воспользовавшись нодом Value Operator, в свойствах которого установим Text to integer value (text). И вот мы имеем уже число, которое можно вставлять в формулы, и которое постоянно изменяется. Теперь нам нужно получить угол поворота стрелки, для чего берем канал Expression Value, в котором запишем зависимость от времени. Прикручиваем к нему, как вводную А, наше время. Для секундной стрелки, впрочем как и для минутной, угол поворота будет равен А * 6, где А - количество секунд (0 - 59), и выходной параметр будет равен от 0 до 354 (градусов!). Но в отличии от секции Animation, где вращение объекта отображается в градусах и программа автоматически переводит их в радианы, тута мы должны все сделать вручную. Для этого воспользуемся формулой перевода градусов в радианы: RAD=(DEG*PI)/180 и как результат имеем следующее выражение: (A*6*PI)/180. Все, прикрепляем что получилось к ссылке нужной оси канала, отвечающего за вращение объекта, и так как секунды постоянно изменяются, имеем такое же постоянное вращение стрелки. Извиняюсь, за столь подробное описание, что-то меня понесло... ;D :o To Administrator: не могу прикреплять картинки, пишет нет места. Название: Re: Часы Отправлено: Ovod от 07 Апреля 2008, 00:45:35 Ничего не понесло, это все важно и полезно, спасибо.
Sonjaaa, а почему A на 6 умножаем? Название: Re: Часы Отправлено: Sonjaaa от 07 Апреля 2008, 00:57:40 ... Sonjaaa, а почему A на 6 умножаем? Так как полный оборот составляет 360 градусов, а секунд 60 (0-59), следовательно 360/60=6. При значении 0 сек - угол равен 0; при 1 сек - (6*1)=6 градусов;... при 59 сек - (59*6)= 354 градуса; а дальше опять 0 сек - угол опять 0 градусов (360 полный оборот). Поворот составляет 6 градусов в сек.Название: Re: Часы Отправлено: Ovod от 07 Апреля 2008, 01:13:15 Да, действительно, 6 градусов в секунду. Что-то я не допетрил. У вас, математиков, это все рефлекторно выходит, надо вливаться потихоньку в тему.
Название: Re: Часы Отправлено: zlovred_44 от 04 Октября 2008, 02:20:37 :( немогу на ifolder пройти... браузер неокрывает.
Sonjaaa можеш положить ещё и на rapidshare? Название: Re: Часы Отправлено: Sonjaaa от 04 Октября 2008, 02:37:40 Выкладываю:
http://rapidshare.com/files/150697178/Clock.rar.html или http://narod.ru/disk/2974245000/Clock.rar.html Название: Re: Часы Отправлено: zlovred_44 от 04 Октября 2008, 12:47:16 Sonjaaa спасибо! скачал-буду просвещаться...
Часы классные!!! |