Xpoint
   [напомнить пароль]

делаем часы на flash!

Метки: [без меток]
2007-07-04 21:32:16 [обр] Вячеслав Крюков[досье]
сообщение промодерировано

Заказчик просит сделать аналоговые часики (со стрелками). Поискал готовые часы, но не всё устраивает.
Нашел одни неплохие часы. Показывают текущее время.
Но задача - показывать два разных времени.
Например - время в Москве и время на Камчатке.
Не знаю как нужно преобразовать данный код.

d = new Date();
_root.secA_._rotation = d.getSeconds() * 6 + d.getMilliseconds()/160;
_root.minA_._rotation = d.getMinutes() * 6 + d.getSeconds()/10;
_root.hourA_._rotation = d.getHours() * 30 + d.getMinutes()/2;

Значение секунд, минут, часов я знаю как получить из внешнего файла (для данных городов), но что нужно сделать, дальше? Применительно к коду выше.

спустя 4 часа 39 минут [обр] Алексей В. Иванов(276/2861)[досье]
Для загрузки данных используйте XML.load или LoadVars.load. Остануться вопросы — задавайте проблему более конкретно.
спустя 2 часа 43 минуты [обр] Вячеслав Крюков[досье]
Да, данные я знаю как подгружать. Вопрос в том, как подделать предложенный выше код, чтобы показывалось текущее время в соответствующих городах.
спустя 23 минуты [обр] Алексей В. Иванов(276/2861)[досье]
В чём проблема? Прибавить смещение?
Если offset в минутах:
mins = (d.getMinutes() + offset) * 6 ...
hours = (d.getHours() * 30 + (d.getMinutes() + offset)/2 ...
спустя 9 минут [обр] Вячеслав Крюков[досье]
да нет же в этом месте, где вы мне показали мне все понятно
вот эта строка
d = new Date(); она берет текущее время компьютера, а мне например надо время в Москве сейчас, а живу я на пример на Камчатке.
спустя 20 минут [обр] Алексей В. Иванов(276/2861)[досье]
Считайте от UTC: d.getUTCHours(), d.getUTCMinutes(),...
спустя 7 минут [обр] Алексей В. Иванов(276/2861)[досье]
А можете посылать текущее время на сервер, в ответ получите смещение для конкретного компьютера. Это защитит вас от пользователей с некорректно настроенным часовым поясом в ОС, а также скорректирует время, если оно отличается от серверного.
Так же посмотрите мою тему: Как определить время в разных городах, учитывая часовой пояс и летнее время?
Она как раз создана в связи с тем, что я делал часы с учётом перехода на зимнее и летнее время в разных странах.
спустя 2 дня 2 часа [обр] Вячеслав Крюков[досье]
Ешё раз повторюсь, чтобы мне хотелось, так как ответа на свой вопрос пока не увидел.
Положим в flash передаются данные - значения (мировое время).
$month=соответствующее значение;
$chislo=соответствующее значение;
$hour=соответствующее значение;
$min=соответствующее значение;
$sec=соответствующее значение;
Так вот как мне сделать, чтобы часы показали не текущее время на локальном компьютере, куда подгружается флеш, а то время, которое я передаю через значения. Т.е. например сейчас 17:15 вечера. Мировое время - 10:15, ну и чтоб часы соответственно показали мне мировое время. Я так понимаю нужно, что-то изменить в текущем коде, но не пойму что именно.
d = new Date();
root.secA._rotation = d.getSeconds() * 6 + d.getMilliseconds()/160;
root.minA._rotation = d.getMinutes() * 6 + d.getSeconds()/10;
root.hourA._rotation = d.getHours() * 30 + d.getMinutes()/2;
спустя 4 минуты [обр] Вячеслав Крюков[досье]
Модули мне не подходят. Трудно в настройке. Да и не стоит оно того.
Есть сайты откуда можно забирать мировое время в почти отформатированном виде. А уже отталкиваясь от значения мирового времени добавлять столько часов сколько нужно в зависимости от пояса.
Например:
http://tycho.usno.navy.mil/cgi-bin/timer.pl
спустя 3 дня [обр] Вячеслав Крюков[досье]
Нашел решение на свой вопрос. Спасибо всем. Однако, возникла новая проблема, при присоединения swf с часиками в другой swf не подгружается ничего и мигает как-то. В ролике с swf три кадра, на первом идет подгузка данных для часов, на втором вызывается new Date () (отвечает за текущее время) и во флеш ролик подставляются параметры из подгруженного файла, на 3 кадре идет возврат ко второму кадру, чтобы так сказать время шло (gotoandPlay(2)). Я не могу понять подгружаемый ролик теряет свои параметры, и подчиняется _parent ролику или что? или просто нужно сверить все _root в плане поменянности на _parent в подгружаемом ролике или что?
спустя 1 час 31 минуту [обр] Алексей В. Иванов(276/2861)[досье]
На словах непонятно. Выложите, будет проще.
А можете попробовать заменить этот некрасивый цикл с "goto" на:
stop();
function onEnterFrame() {
   var d = new Date();
   ...ваш код здесь
}
спустя 1 год 7 месяцев [обр] Jekyll+[досье]
сообщение промодерировано
Сакачать готовый flash часы для сайта http://flash-world.ru/skachat-flash-ishodniki/10-skachat_flash_chasy_na_sait_besplatno.html
спустя 17 часов [обр] Алексей В. Иванов(276/2861)[досье]
! Jekyll[досье] Плюс в досье за "поисковую оптимизацию".
Powered by POEM™ Engine Copyright © 2002-2005