2012-05-10 3 views
0

가능합니까? 사용자가 다른 요소 위에 역할을 할 때 동영상 클립이 실행되는 파일이 있습니다. 사용자 경험을보다 쾌적하게 만들기 위해 setInterval을 사용하여 3 초 후에 지연이 발생합니다. 3 초가되기 전에 사용자가 요소를 떼어 내면이 시간을 멈추고 재설정하는 방법이 있습니까?AS2에서 실행되는 동안 setInterval 지연 취소

var xTimer = setInterval(wait, 3000); 
function wait(){ 
    show('all'); 
    play('all'); 
    clearInterval(xTimer); 
} 

위의 코드는 지연 설정에 사용 된 코드이며 아래는 타이머를 중단하고 재설정하는 코드입니다.

invisBtn.onRollOut = function(){ 
    rollover_mc.gotoAndStop(1); 
    stop(); 
    clearInterval(xTimer()); 
    trace('off'); 
} 

이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.

답변

0

먼저 setInterval & clearInterval 함수는 Number 변수를 사용하여 작동합니다.

setInterval()은 Number 변수를 반환하고 clearInterval()은 Number in 매개 변수를 사용하여 이전 시작 간격을 제거합니다. 여기서는 숫자 ID 대신 함수 ID 안에 간격 ID를 유지하는 것 같습니다.

따라서 clearInterval(xTimer());은 실제로 clearInterval(xTimer)이어야합니다. (xTimer 뒤에 괄호가 없음).

둘째, invisBtn.onRollOut 함수에서 사용할 수 있도록 xTimer 변수가 다른 키 프레임이 아닌 invisBtn.onRollOut이 아닌 함수 내부가 아닌 올바른 범위에 있는지 확인하십시오. (타임 라인의 타임 라인 키 프레임은 읽기 헤드가 코드가있는 레이어의 새 키 프레임을지나 자마자 작성한 코드를 잊어 버리는 경향이 있습니다).

필요한 경우 자세한 내용을 자유롭게 물어보십시오!