Как вырваться из интервала установки в Action Script 2 - PullRequest
0 голосов
/ 11 августа 2009

p2 = setInterval (function () { clearInterval (р2); некоторый код здесь; }, waitTime)

Мне нужно вырваться из этого интервала в отдельной функции.

Воспроизводит массив SWF-фильмов - есть функция очистки, которая должна остановить этот интервал.

Как я могу остановить этот интервал из отдельной функции в AS2?

1 Ответ

1 голос
/ 15 августа 2009

все с setInterval является областью действия.

как выглядит ваш код, p2 находится на основной временной шкале и относится к этому / _level0 / _root, верно?

clearInterval () также является глобальной функцией, поэтому ее можно вызывать из любой другой функции, вложенной в любой фрагмент ролика, при условии, что вы можете получить доступ к идентификатору интервала (p2 в вашем случае)

так что если у вас есть что-то вроде:

p2 = setInterval(function () { trace('p2 running'); }, waitTime);

Вы можете иметь отдельную функцию, такую ​​как

function clearP2(){
clearInterval(p2);
}

если эта функция вложена в некоторый клип, вы всегда можете использовать грязный all _root (как в абсолютном пути)

например. // clearP2 живет во вложенном клипе далеко от _root

function clearP2(){
clearInterval(_root.p2);
}

конечно, вы можете использовать и относительные пути

function clearP2(){
clearInterval(_parent._parent._parent.p2);//depending on the clips hierarchy
}

Идея, которую следует иметь в виду, заключается в том, чтобы обеспечить доступ к идентификатору интервала там, где он вам нужен, clearInterval () является глобальным

...