Форум 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)
-   -   Вопрос про getTimer(); (http://www.flasher.ru/forum/showthread.php?t=120453)

CaHTeX 21.01.2009 08:49

Вопрос про getTimer();
 
Доброго времени суток!!!! Подскажите, можно ли функцию заставить выполняться например через каждые 5 сек с помощью
Код AS1/AS2:

getTimer();

? Или может еще есть способ.

Волгоградец 21.01.2009 10:29

Для этого служит setInterval().

scarbo 21.01.2009 11:05

Цитата:

Для этого служит setInterval()
Я пришел к выводу,что лучше getTimer().
Да можно вот так например
Код AS1/AS2:

var time = getTimer();
this.onEnterFrame = function(){
        if(getTimer() >= time+5000){
                trace(getTimer());
                time += 5000;
        }
}

А если применить setInterval
Код AS1/AS2:

setInterval(function(){trace(getTimer())},5000);

то трэйсы getTimer(),будут точнее.И ГЛАВНОЕ удалить onEnterFrame,не в пример проще,чем накапливающийся setInterval()

DaFive 21.01.2009 11:45

Интервал тоже можно удалить.

chingachgoog 21.01.2009 12:13

getTimer ничего не заставляет выполняться (что, судя по топику, вам и нужно). Он лишь показывает время. В коде scarbo заставляет выполняться onEnterFrame.
Но более точно будет setInterval или setTimeout.

Волгоградец 21.01.2009 12:53

Цитата:

Сообщение от scarbo (Сообщение 792499)
Я пришел к выводу,что лучше getTimer().

И чем же лучше? Функция должна выполняться раз в 5 секунд, а вы проверяете 30 раз в секунду подошло ли время для вызова. Лишняя трата ресурсов. К тому же onEnterFrame еще большей погрешностью обладает. И что значит накапливающийся setInterval?

DarkLight 21.01.2009 13:20

Погрешность setInterval большая, на секундном интервале за 10 секунд может накопиться до 1 секунды ошибки. Я после каждого или нескольких тактов по getTimer проверяю отклонение и корректирую длину интервала на его компенсацию.

CaHTeX 21.01.2009 18:20

Большое спасибо надо попробовать!

scarbo 21.01.2009 18:54

Во DarkLight за меня уже ответил,а Вы посмотрите,по какому принципу работает setInterval(),залезть в папочку Macromedia и гляньте,тогда поймете почему getTimer() лучше.
А потом создайте 2 swf и пропишите в одном функцию с setInterval() и clearInterval(),а в другом кнопочку которая грузит 1 swf.Позагружайте не сколько раз,и увидете как удаляется setInterval()

chingachgoog 22.01.2009 00:56

scarbo, что вы имеете ввиду об принципе работы setInterval() ?
И можете ли вы дать пример глюка clearInterval()? Такого пока не наблюдал.


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

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