Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Работа с таймером (http://www.flasher.ru/forum/showthread.php?t=88555)

Даня 25.11.2006 21:35

Работа с таймером
 
Код:

function Phisic() { // конструктор моего класса
                timer = new Date(0,0,0,0,0,0);
        }
function resetTime() { //сброс счётчика времени
                timer.setMinutes(0);
                timer.setSeconds(0);
        }
function get time() { //получение величины время
                return timer.getMinutes()*60 + timer.getSeconds();
        }

Ребят, что не так? Просто первый раз с классом Date имею дело. Проблема в том, что время(количество секунд) не отсчитывает, т.е. всегда 0.

iNils 25.11.2006 21:47

Надо брать разницу между текущим временем и стартовым, поэтому в параметрах конструктора писать 0, 0, 0, 0, 0, 0 не нужно.

Даня 25.11.2006 21:57

ОК, спасибо. Я правда с начала так и подумал, но потом полистал справочник и наткнулся на .setMinutes и .setSeconds, я так понял, что они для установки своего текущего времени. Вот я и сбрасываю его в 0 чтобы счётчик отсчитывал от него: для удобства.

iNils 25.11.2006 22:08

Небольшой пример
Код:

function d () {
        d1 = new Date ();
}
function reset () {
        d ();
}
function getTime () {
        return (new Date ().setTime (new Date ().getTime () - d1.getTime ()));
}
cx = 0;
d ();
setInterval(function () {
        cx++;
        if (cx == 5) {
                cx = 0;
                reset ();
        }
        trace (getTime ());
}, 1000);


Даня 25.11.2006 23:45

Классно. Спасибо Вам. Конечно, должен признать, что Flash как то кривовато с Date обошлась... я думал всё глупее и проще.

iNils 25.11.2006 23:56

Почему же криво? А представте что вам нужно хранить какую либо дату, например о каком то событии. Вы создаетет экземпляр Date, который у вас начинает меняется, согласно прошедшему времени. И что вам тогда делать?

etc 25.11.2006 23:56

Это стандарт вообще-то :)

Даня 26.11.2006 21:36

ну да... просто, видимо, я требую кривых вещей)
но я сделал вашим способом - работает)


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

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