2013-02-04 2 views
1

을 제거 나는이 반복 FLV 비디오를 가지고 있고 영화가 실행 중일 때 재생되는 임의의 영화가있다. 다른 영화 인 shaker을 사용하지 않도록 설정했거나 해당 임의의주기를 중지해야합니다. 감사합니다타이머 이벤트

ns.addEventListener(NetStatusEvent.NET_STATUS, NCListener); 

function NCListener(e:NetStatusEvent){ 
if (e.info.code == "NetStream.Play.Stop") { 
ns.play("video_2.flv"); 
shaker(null); 
} 
}; 
addEventListener(Event.COMPLETE,shaker); 
function shaker (event:Event):void{ 

var mcArray:Array = [loader.button_01_mc,loader.button_02_mc,loader.button_03_mc,loader.button_04_mc,loader.button_05_mc]; 
var clipTimer:Timer = new Timer(4000); 

clipTimer.addEventListener(TimerEvent.TIMER, playClips); 

function playClips(event:TimerEvent):void{ 

    var i:Number=Math.floor(Math.random() * mcArray.length); 
    var movieClipToEdit:MovieClip=mcArray[i] as MovieClip; 
    movieClipToEdit.gotoAndPlay (1); 
} 
clipTimer.start(); 
} 
loader.button_01.addEventListener(MouseEvent.CLICK, play_video_01); 
loader.button_01.addEventListener(MouseEvent.ROLL_OVER, play_effect_01); 

function play_video_01 (event:MouseEvent){ 

    ns.play("video_3.flv"); 
    loader.button_01_mc.gotoAndPlay (41); 

답변

1

시도해보십시오. 타이머를 위로 이동하여 기능 밖으로 이동하십시오. 원하는 기능에서 정지를 호출하십시오.

업데이트 1 : 돌린 타이머로 만든 변경 및 추가 싱글 플레이 기능 있도록 하나의 애니메이션이 재생됩니다. (애니메이션을 순환하지 않고 무작위로 재생합니다.)

ns.addEventListener(NetStatusEvent.NET_STATUS, NCListener); 

function NCListener(e:NetStatusEvent){ 
if (e.info.code == "NetStream.Play.Stop") { 
ns.play("video_2.flv"); 
shaker(null); 
} 
}; 
addEventListener(Event.COMPLETE,shaker); 
function shaker (event:Event):void{ 

var mcArray:Array = [loader.button_01_mc,loader.button_02_mc,loader.button_03_mc,loader.button_04_mc,loader.button_05_mc]; 

var clipTimer:Timer = new Timer(4000); 
clipTimer.addEventListener(TimerEvent.TIMER, playClips); 
var refCurrentAnimation:MovieClip; 

function playClips(event:TimerEvent):void{ 

    if(!refCurrentAnimation) 
    { 
     var i:Number=Math.floor(Math.random() * mcArray.length); 
     var movieClipToEdit:MovieClip=mcArray[i] as MovieClip; 
     movieClipToEdit.gotoAndPlay (1); 
     refCurrentAnimation = movieClipToEdit; 
     clipTimer.stop(); 
    } 
} 
clipTimer.start(); 
} 
loader.button_01.addEventListener(MouseEvent.CLICK, play_video_01); 
loader.button_01.addEventListener(MouseEvent.ROLL_OVER, play_effect_01); 

function play_video_01 (event:MouseEvent){ 

    ns.play("video_3.flv"); 
    loader.button_01_mc.gotoAndPlay (41); 
} 
+0

이렇게 작동합니다. 그러나 내가 video_3.flv를 재생하고 video_2.flv를 시작하는 것이 끝날 때까지 기다립니다. 그리고 video_2.flv가 재생 될 때마다 'mcArray'에서 재생되는 2 개의 무비 클립이 있습니다. 다른주기 후에 3 개의 무비 클립이 재생됩니까? – Kircho

+0

그리고 그 사람들이 멈추길 원하십니까? 또는 단 한 명만 연주 할 수 있습니까? 그 일을 멈추게하려면 : clipTimer.stop(); ns.play ("video_2.flv") 전에; 같은 기능 안에서 refCurrent.currentFrame가 == 새로운 movieClipToEdit을 이야기하기 전에 refCurrent.totalFrames 재생 있는지 확인하기 위해 playClips 기능의 외부 체크 내부 무비 클립을 저장하는 것을 잊지 말아 : 당신은 var에 refCurrent을 만들려면 : 재생하는 단 하나 하나를 얻을 수 있습니다 refCurrent 선언의 movieClipToEdit입니다. – bnns

+0

하나만 재생하면됩니다. 제발 코드로주세요. 고맙습니다. – Kircho