PDA

Просмотр полной версии : Проблема с таймером, нет обновления


in4core
01.06.2010, 17:22
var DATE:Date = new Date(2000, 4, 10, 0, 0, 0, 0);
function timer() {
var sec = DATE.getSeconds();
var min = DATE.getMinutes();
var hour = DATE.getHours();
trace(sec);
if (sec < 10) {
sec = "0" + sec;
}
if (min < 10) {
min = "0" + min;
}
if (hour < 10) {
hour = "0" + hour;
}
tf_timer.text = hour+":"+min+":"+sec;
}
var ff = setInterval(this,"timer",1000);

С ккаждым циклом : минуты, секунды , часы все равно 0. Тоесть счет далее не идет. почему?

udaaff
01.06.2010, 17:27
function timer()
{
var date = new Date();
var sec = date.getSeconds();
var min = date.getMinutes();
var hour = date.getHours();
...

iNils
01.06.2010, 17:36
function timer () {
tf_timer.text = new Date ().toString ().split (" ")[3];
}

in4core
01.06.2010, 17:48
Удав вы не правы. Моя задача немного иная, мне не нужна сегодняшняя дата, мне нужна левая дата, с 0 значения часов минут и секунд. Обычный таймер.

to Inils а что это даст? Конструкция немного непонятна. Хотя понял, но это опять про сегодняшную дату. Мне же нужно начинать все с 0

iNils
01.06.2010, 17:57
function timer () {
tf_timer.text = new Date(2000, 4, 10, 0, 0, -1, getTimer () - cx).toString().split(" ")[3];
}
var cx:Number = getTimer ();
var ff:Number = setInterval (this, "timer", 1000);

in4core
01.06.2010, 18:04
Спасибо большое. Если можно объясните конструкцию.

udaaff
01.06.2010, 18:05
in4core, когда я отвечал, по-моему, первой строки еще не было в вашем коде.

iNils
01.06.2010, 18:23
При приведении даты в String мы поулчаем
Wed May 10 00:00:00 GMT+0400 2000
как видите, там уже есть готовая конструкция hh:mm:ss, нужно только ее достать. Методом split мы разбиваем строку по пробелам в массив и берем 4 элемент с начала.

in4core
01.06.2010, 19:09
Клево, оч интересно и доходчиво. Только вот все равно непонятно как из Даты массив сделался, пока что такие секреты у меня в голове не укладываются...

to udaff - да возможно ты прав, я менял сообщение, наверное в тот момент когда ты писал. сорри тогда

rainbowrussia
02.06.2010, 04:34
Только вот все равно непонятно как из Даты массив сделался

Сначала из даты получилась строка - .toString(), затем из строки получился массив (разбиение по пробелу) .split(" "), далее взятие элемента массива с номером [n].