Форум 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=95064)

wvxvw 26.04.2007 22:25

Остановить (найти) интервал в подгружаемом клипе?
 
Вот, такая ситуация:
Подгружается SWF (в один и тот же клип), в нем setIntervalom вызывается какая-то функция. Один раз - все хорошо, второй раз - интервалов становится 2, третий раз - 3, ну и так далее. Просто clearInterval() перед setInterval() не помогает... почему-то после того, как клип выгружается, интервал остается... и достать его уже не знаю как =/

Molecula 26.04.2007 22:47

Посмотреть бы на это.

wvxvw 26.04.2007 22:55

Вот, упрощенный пример.
Код в loaded.swf
Код:

var itr:Number;
onEnterFrame = function(){
        clearInterval(itr);
        itr = setInterval(counter, 1000);
        delete this.onEnterFrame;
}
function counter(){
        trace(getTimer()+" interval call");
}

код в loader.swf
Код:

b_mc.onPress = function(){
        _root._mc.loadMovie("loaded.swf");
}


lowka 26.04.2007 23:07

Вам нужно перед загрузкой нового мувика удалять интервал внутри старого.

Kikasso 26.04.2007 23:10

setTimeout.
или очищайте интервал ВНУТРИ самой функции. Передать можно параметром..
Код:

function f(intId){
clearInterval(intId);
trace ("called and killed");
}
intId = setInterval( f, 1000, intId );


wvxvw 26.04.2007 23:13

Ну, это хорошо, если интервал можно найти. А если клип с сетИнтервалом не мой, и я вообще не знаю/не уверен есть ли он там. Как тогда?

Kikasso 26.04.2007 23:18

http://flasher.ru/forum/showpost.php...16&postcount=5

wvxvw 26.04.2007 23:28

2 Kikasso:
Не... меня вполне устраивает наличие интервала, пока флешка загружена. Хотелось бы какой-то способ поудалять _любые_ интервалы которые она понасоздавала после того, как она выгрузилась...
Хотя... что-то в этом есть... можно попробовать изменить прототип так, чтобы он проверял наличие переменной, к которой был привязан.

Kikasso 26.04.2007 23:31

Юзай таймауты, и сажай их каждый раз заново, если надо.

etc 27.04.2007 01:23

Можно хранить номер интервала в _global (предварительно убедившись, что ролики одной версии).


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

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