Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.03.2011, 11:15
suvorov вне форума Посмотреть профиль Отправить личное сообщение для suvorov Найти все сообщения от suvorov
  № 1  
Ответить с цитированием
suvorov

Регистрация: Dec 2010
Сообщений: 9
По умолчанию Часы. Правильное определение времени

Добрый день господа! Прихожу за помощью на этот форум, уже не в первый раз и все по той же проблеме.

Собственно есть часы во Flash, на них показывается время в 3-х часовых поясах. В целом все круто, когда человек смотрит эти часы из Москвы (он видит правильное время в Екатеренбурге и в Дели), но когда человек заходит из Екатеринбурга, то здесь становится все неверно.



Код:
function initClock( mov, offset )
{
	mov.onEnterFrame = function()
	{
		myDate = new Date();
		myDate.setMinutes ( myDate.getMinutes() + offset );
		//trace( myDate.getMinutes() +" / "+ min2 )
		
		hour = myDate.getHours();
		min = myDate.getMinutes();
		sec = myDate.getSeconds();		
		
		this.m3._rotation = min * 6 + sec * 1.000000E-001
		this.s3._rotation = sec * 6
		this.h3._rotation = hour* 30 + min * 5.000000E-001
	}
}


initClock( CL, 0 )
initClock( CL2, 120 )
initClock( CL3, 150 )

Если можно, то подскажите, что и где заменить. У меня проблема с пониманием всех этих штук((. Буду очень благодарен!

Старый 10.03.2011, 11:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Простой работой только в коде AS тут вопрос не решить. Все дело в том, что сейчас у вас используется время компа пользователя, а не точное время.
Более-менее точное время можно взять с помощью php-скрипта с сервера, на котором хостится флешка. Например, только один раз для синхронизации. Или несколько раз в минуту (на случай, если вдруг юзер успел перевести время на компе опять).
__________________
Идите первым!


Последний раз редактировалось mooncar; 10.03.2011 в 11:32.
Старый 10.03.2011, 11:40
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 3  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
suvorov
  1. Получить время по гринвичу.
    • Либо с компа юзара
    • Либо с сервера (предпочтительнее)
  2. Добавить к исходному времени сдвиг часового пояса, на котором сидит юзер (грузим с компа)
  3. К полученному результату плюсуем сдвиг для определённой столицы.
  4. Получаем результат - время в столице другой страны, относительно часового пояса юзара.

Оперировать нужно датой в милисекундах, затем полученный результат возводить в понятную юзару форму.
... хотя в милисекундах - даже не обязательно.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 10.03.2011 в 11:59.
Старый 10.03.2011, 11:45
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Tails, а вдруг у юзера БИОС слетел, батарейка померла и там 1999 год стоит? Как в этом случае с компа получить время по гринвичу?
Время надо брать с сервера, раз уж автор делает замыслил такую систему.
__________________
Идите первым!

Старый 10.03.2011, 11:47
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 5  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
mooncar
Полностью согласен. Грузить с компа юзара - это только как альтернативный вариант, при ну совсем не возможной реализаций забора времени с сервера.
__________________
Дети не должны знать о своих родителях

Старый 10.03.2011, 15:13
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 6  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Если у него слетел БИОС и сдохла батарейка, как думаете, много там на компе при всем этом будет интернета и серверов? ))

Вот утилитка для более детального разбора что происходит во флэше со временем:
http://vkontakte.ru/app1871605
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 10.03.2011, 15:37
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от dark256 Посмотреть сообщение
Если у него слетел БИОС и сдохла батарейка, как думаете, много там на компе при всем этом будет интернета и серверов? ))
Если сдохла батарейка, то комп может работать как ни в чем не бывало, загрузившись с дефолтными настройками БИОСА, только время может хромать и некоторые пользовательские настройки исчезнут. В большинстве случаев комп будет работать относительно благополучно, после того как юзер жамкнет F1, и загрузка пойдет далее.
__________________
Идите первым!

Старый 10.03.2011, 20:02
suvorov вне форума Посмотреть профиль Отправить личное сообщение для suvorov Найти все сообщения от suvorov
  № 8  
Ответить с цитированием
suvorov

Регистрация: Dec 2010
Сообщений: 9
Мужики)) Вы о чем? Нет, в смысле, спасибо всем конечно за столь глубокое обсуждение, но я реально ничего не понимаю...Можно какой-нибудь кусочек кода привести в пример? Ну или слепить за меня, я конечно не на бирже бесплатных рабочих, но надеюсь на Вашу помощь. С этими часами ковыряюсь уже 3-ю неделю...и ничего, не понимаю...

Старый 11.03.2011, 00:30
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 9  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Цитата:
Если сдохла батарейка, то комп может работать как ни в чем не бывало, загрузившись с дефолтными настройками БИОСА, только время может хромать и некоторые пользовательские настройки исчезнут
Нуууу..... эээ... нотебяка. 1й пень.
Батарейка цмоса сдохла. просит ввести параметры винта.... эээ... и? ))))))

Добавлено через 1 минуту
Цитата:
Мужики)) Вы о чем? Нет
Мужикик теоретизируют. Брать время с компа. Часовой пояс - на ноль. Относительно нуля рисовать часы для всех, включая для себя.
Кстати с этой весны станет проще - UTC зимнее-летнее время не знает
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 11.03.2011, 15:13
suvorov вне форума Посмотреть профиль Отправить личное сообщение для suvorov Найти все сообщения от suvorov
  № 10  
Ответить с цитированием
suvorov

Регистрация: Dec 2010
Сообщений: 9
По умолчанию Ответ

А у меня откуда время берется? разве не с компа?

Смысл такой, у меня 3-е часов:

1. Москва
2. Екатеринбург
3. Дели

Захожу с Московского компа и беру время с компа к первым часам
А вот если я захожу с Екатеринбурга и беру время с компа к первым часам, то эти часы покажут уже время Екатеринбурга

Пришел к мнению, что время лучше брать с интернета, так просто думается проще)

Можете как-нибудь привести пример, как мне к часам привязать время с сервера? Наверняка есть такая фича. Вообще я думаю будет полезным вложением в жизнь форума, кусочек кода, который берет время с интернета для Москвы и других городов.

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.