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

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

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

Регистрация: Jan 2006
Сообщений: 179
По умолчанию как задать время в часах?

Вообщем нашел исходникЮ довольно несложный как оказалось

Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
 
	public class AnalogClock extends Sprite
	{
 
		var date:Date = new Date();
		var hours:int = date.hours;
		var minutes:* = date.minutes;
		var seconds:* = date.seconds;
 
		var timer:Timer = new Timer(1000);
 
		public function AnalogClock():void
		{
 
			hourHand.rotation = hours * 30 + (minutes * 0.5);
			minuteHand.rotation = minutes * 6;
			secondHand.rotation = seconds * 6;
 
			timer.addEventListener(TimerEvent.TIMER, updateClock);
			timer.start();
 
			digitalClock();
		}
 
		private function updateClock(e:TimerEvent):void
		{
			date = new Date();
 
			hours = date.hours;
			minutes = date.minutes;
			seconds = date.seconds;
 
			hourHand.rotation = hours * 30 + (minutes * 0.5);
			minuteHand.rotation = minutes * 6;
			secondHand.rotation = seconds * 6;
 
			digitalClock();
		}
 
		/* Digital Clock */
 
		private function digitalClock():void
		{
 
			/* If number is just one digit, add a 0 to the left */
 
			if (String(minutes).length<2)
			{
				minutes="0"+minutes;
			}
 
			if (String(seconds).length<2)
			{
				seconds="0"+seconds;
			}
 
			/* Set TextFields */
 
			clock.text=hours+":"+minutes;
			clockLP.text=hours+":"+minutes;
		}
	}
}
Вообщем все работает, время береся локально и тд ...
так вот у меня задача сделать несколько одинаковых часов, чтобы они запускались с параетром mosow, london
и тд ...
Так вот вопрос, если я буду брать локальное время, то я уже изначально не знаю в каком часовом поясе у меня находится пользователь ... Поэтому след вопрос как указать чтобы он показывал время определнных городов независимо от того, где запускается флешка, какой часовой регион, думал сначала через php запихнуть, время но потом увидел, что в функции updateClock он опять время берет локально, не делать же запросы все время к серверу.


Последний раз редактировалось motoroller; 30.03.2011 в 00:21.
Старый 30.03.2011, 00:29
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 2  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
Можно попробовать вычислить часовой пояс исходя из
Код AS3:
date.getTimezoneOffset()
И уже от этого отталкиваться дальше.

Старый 30.03.2011, 00:53
motoroller вне форума Посмотреть профиль Отправить личное сообщение для motoroller Найти все сообщения от motoroller
  № 3  
Ответить с цитированием
motoroller

Регистрация: Jan 2006
Сообщений: 179
А может можно так dateUTC, сразу брать по гринвичу а потом если надо прибавлять часы?

Старый 30.03.2011, 01:00
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 4  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
А что ты у нас спрашиваешь? Ты ведь делаешь?

Намного проще делать так, как сказал АлексВулф. там сразу разница в минутах пишется.

Старый 30.03.2011, 01:05
motoroller вне форума Посмотреть профиль Отправить личное сообщение для motoroller Найти все сообщения от motoroller
  № 5  
Ответить с цитированием
motoroller

Регистрация: Jan 2006
Сообщений: 179
так скажите а там разница между чем и чем? местным и гринвичем?
Так мне эта разница не особо нужна ...

Добавлено через 16 минут
Еще вопросик, сдеал через hoursUTC потом тупо прибавил ну москва +4 ...
а вот цифровые часы мне чушь написали ...
надо скажите как в минутах прибалвять или в секундх?

Старый 30.03.2011, 01:29
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
надо скажите как в минутах прибалвять или в секундх?
Код AS3:
date.minutes += AnyMinutesOffset;
Анлагоично в сендуках.
PS:
Код AS3:
if (String(minutes).length<2)
- плохо соответствует духу, по-моему. Лучше
Код AS3:
if ((String(minutes).length<2).toString().length == 4)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

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

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


 


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


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