Como alguém sai de um intervalo definido no script de ação 2
Pergunta
p2 = setInterval (function () {clearInterval (p2); algum código aqui;}, waittime)
Eu preciso sair desse intervalo em uma função separada.
Isso reproduz uma variedade de filmes SWF - há uma função de purga que precisa interromper esse intervalo.
Como posso parar esse intervalo de uma função separada no AS2?
Solução
A coisa toda com setInterval é o escopo.
A maneira como o seu código parece, P2 está na linha do tempo principal e pertence a isso/_Level0/_root, certo?
ClearInterval () também é uma função global, para que você possa chamá -la de qualquer outra função aninhada em qualquer clipe de filme, desde que você possa ter acesso ao ID do intervalo (P2 no seu caso)
Então, se você tem alguns gostos:
p2 = setInterval(function () { trace('p2 running'); }, waitTime);
você pode ter uma função separada como
function clearP2(){
clearInterval(p2);
}
Se essa função estiver aninhada em algum clipe, você sempre poderá usar o sujo de todas as raízes (como no caminho absoluto)
por exemplo, // clearp2 vive em um clipe aninhado muito longe de _root
function clearP2(){
clearInterval(_root.p2);
}
Claro que você pode usar caminhos relativos também
function clearP2(){
clearInterval(_parent._parent._parent.p2);//depending on the clips hierarchy
}
A idéia a ter em mente é garantir que você possa acessar o ID do intervalo onde você precisa, ClearInterval () é global