PDA

Просмотр полной версии : Таймер времени


DECIDE
08.02.2007, 14:00
Уважаемые Flash профи.
Не поможете сделать простенький таймер времени.
Мне нужно, чтобы например загрузилось какое-то значение и от него отсчитывалось время в уменьшение, то есть скажем значение 1 час потом в зависимости от времени это значение уменьшалось, стремилось к нулю. Как такое можно сделать?

Заранее благодарен!

CorC
08.02.2007, 14:03
класс Date вам в руки :)
http://livedocs.macromedia.com/flash/8/main/00002128.html

DECIDE
08.02.2007, 14:42
CorC спасибо, опять выручил :)

DECIDE
08.02.2007, 15:23
Всётаки снова прошу помощи.

Значит у меня окончание времени скажем реяльное время + 1

tm_h0=15;
tm_m0=30;
tm_s0=0;
setInterval(function(){
tm=new Date();
tm_s1=tm.getSeconds();
tm_m1=tm.getMinutes();
tm_h1=tm.getHours();
timer=(tm_h0-tm_h1)+":"+(tm_m0-tm_m1)+":"+(tm_s0-tm_s1)
},1000)

Чё-то не пойму как сделать?

CorC
08.02.2007, 15:34
все работает просто раз вы из 0 вычитаете там 20
то -20 и получите :)

CorC
08.02.2007, 15:38
предлагаю так:

stop();
tm_h0 = 15;
tm_m0 = 30;
tm_s0 = 0;
setInterval(function () {
var tm = new Date();
var tm_s1 = tm.getSeconds();
var tm_m1 = tm.getMinutes();
var tm_h1 = tm.getHours();
var i=tm_h0-tm_h1;
var j=tm_m0-tm_m1
var k=tm_s0-tm_s1;
if(k<0){
j--;
k=60+k;
}
if(j<0){
i--;
j=60+j;
}
timer = i+":"+j+":"+k;
trace(timer);
}, 1000);

DECIDE
08.02.2007, 15:42
тогда как корректировку сделать?

tm_s1=tm_s0-tm_s1;
tm_m1=tm_m0-tm_m1;
tm_h1=tm_h0-tm_h1;
... дальше что-то не соображу

DECIDE
08.02.2007, 15:45
CorC предлагаю так:
...
Благодарю :)

DECIDE
08.02.2007, 15:47
а почему секунды не меняются может интервал 100 сделать?

CorC
08.02.2007, 15:50
у меня все меняется
з.ы.: не пишите подряд много постов
пишите в 1 сообщении и его потом меняйте
если что то хотите еще добавить

DECIDE
08.02.2007, 16:01
у меня меняется когда я запускаю заново, но не по интервалу
0:27:48
0:27:48
0:27:48
...

CorC
08.02.2007, 16:18
Вы в точности мой код вставьте
и своего ничего не пехайте,
и будет вам счастье :)

DECIDE
08.02.2007, 16:40
пардон, за доработки, действительно счастье было так близко :)

DECIDE
08.02.2007, 18:17
Ещё вопрос.
в php время

dtm=mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("y"));

в ActionScript'е

dtm=dtm+"000";Number(dtm);
tm=new Date();
tm.setTime(dtm-tm.getTime())
h=tm.getHours();if(h<10)h="0"+h
m=tm.getMinutes();if(m<10)m="0"+m
s=tm.getSeconds();if(s<10)s="0"+s
tme=h+":"+m+":"+s

показывает на 3 часа больше?

Люди помогите вообще не врублюсь как устанавливается время.

tm=new Date(dtm);
h=tm.getHours();if(h<10)h="0"+h
m=tm.getMinutes();if(m<10)m="0"+m
s=tm.getSeconds();if(s<10)s="0"+s

если так, то показывается реальное время
мне нужно чтобы отсчитывался таймер стремящийся к нулю
Суть такая будет аукцион, где сделал сатвку время уменьшается скажем на 10 минут и когда время выйдет последний поставивший выигрывает банк
Никак не могу сделать такой таймер.
Я получаю время в формате уних в секундах, во флаше время в милесекундах *1000 не пойму как установить время для таймера, и почему оно делается на 3 часа больше???

DECIDE
09.02.2007, 17:32
ну же как установить такой таймер?
UP :(

etc
09.02.2007, 20:43
За «UP» можно и бан получить.

CorC
10.02.2007, 11:36
ни разу в пхп не работал со временем,
но по вопросу: что тебе мешает 3 отнять?
либо в пхп либо в АС?

DECIDE
10.02.2007, 14:20
ни разу в пхп не работал со временем,
но по вопросу: что тебе мешает 3 отнять?
либо в пхп либо в АС?

Пробовал я по всяки и в пхп 3 часа отнимал и в AS, всё равно какая-то фигня получается.

ну хотя бы простенький пример как во флаше сделать таймер по уменьшению. Что-то вроде этого.

setInterval(function(){
tm=new Date(dtm);dtm--;
h=tm.getHours();if(h<10)h="0"+h
m=tm.getMinutes();if(m<10)m="0"+m
s=tm.getSeconds();if(s<10)s="0"+s
timer=h+":"+m+":"+s
}

мне обычный формат в виде часы, минуды, секунды не подходит
Я получаю из пхп значение в секундах в уних формате и мне нужно его тображать минусуя 1 через каждую секунду

CorC
10.02.2007, 15:13
не понял строки
tm=new Date(dtm);dtm--;