PDA

Просмотр полной версии : Как перемешать и часовую стрелку в часах?


khorokhorya
12.12.2007, 18:05
Иходник я брала с этого сайта, кто может подсказать, как заставить и часовую стрелку перемешаться адекватно времени, а не только минутную.
Сейчас она стоит на одном часе до 59 минут а потом перепрыгивает на следующий.

vivanov
12.12.2007, 18:33
Я просто прописал в яндексе(когда мне нужно было сделать часы) "урок часы во flash" и он мне выдал кучу сайтов где написано как это сделать вместе с часовой стрелкой... хз

CorC
13.12.2007, 10:06
private function Clock(MC) {
var D = new Date();
var M = D.getMinutes();
var H = D.getHours();
var S = D.getSeconds();
MC.s._rotation = S/60*360-90;
M = (M+S/60);
MC.m._rotation = M/60*360-90;
MC.h._rotation = (H+M/60)/12*360-90;
}

alekslitvinenk
13.12.2007, 10:18
Для того чтобы повернуть секундную стрелку достаточно:
MC.s._rotation = S*6;

CorC
13.12.2007, 10:42
У меня в часах изначальное положение стрелки горизонтальное на 3 часа :) А 0 не убирал... сам не знаю почему ;)

alekslitvinenk
13.12.2007, 10:57
Тогда наверное более универсальным способом будет:
var id:Number = setInterval(rotateSec, 1000);
rotateSec(){
MC.s._rotation += 6;
}
а вообще у Мунка есть замечательный пример как решить тривиальную задачу нетривиальным способом, т.е используя ООП и паттерн MVC.

glin
13.12.2007, 17:16
Вот рабочий код.

sek.onEnterFrame=function(){
vrem=new Date();
sec=vrem.getSeconds()+21; // +21 т.к. у меня в исходном положении сек. стрелка нарисована на 39-й секунде.

minuta=vrem.getMinutes(); // В исходном положении мин. стрелка нарисована на 12-ти.

chasy=vrem.getHours()-3; // -3 т.к. у меня в исходном положении часовая стрелка нарисована на 3 часа.

if (chasy > 12) {
chasy -= 12;
}
this._rotation=sec*6;
_root["min"]._rotation=minuta*6+sec/10;
_root["chas"]._rotation=chasy*30+minuta/2;
}
Если коротко, то идея в том, что вращение часовой стрелки происходит постоянно в зависимости от положения минутной (последняя строка...).

Надеюсь кому-то помог...

iNils
13.12.2007, 18:01
glin, в следующий раз, когда будете помогать кому-то, оформляйте свой код тегами .

glin
13.12.2007, 18:23
учту, постараюсь...