본문 바로가기

FLASH/Flash어플소스

무비클립 플레이 콘트롤러

.

무비클립 플레이 콘트롤러


메인 타임라인에

 

애니메이션이 들어 있는 무비클립이 있고

 

콘트롤러를 상위레이어에 놓은 다음

 

다음의 액션을 넣습니다.

 

심플하게 무비클립 콘트롤러 만들어 봤습니다.

 

이러닝 강좌 만들때 유용합니다.


///////////////////////////////////////////////////

// 콘트롤러 관련 액션


var isPlaying:Boolean = true; //true:play false:pause

var ty:Number;

var range:Number = 300;

addEventListener("enterFrame", onEnter);

function onEnter(e){

 if(mouseY > 300){

  ty = 360;

 }

 if(mouseY < 300){

  ty = 435;

 }

 controller.y += 0.3*(ty-controller.y);  

 

    controller.dragger.x = contents.currentFrame * (1 /contents.totalFrames) * range;

    controller.bar.width = controller.dragger.x; 

 controller.dragger.addEventListener("mouseDown", dragStart);

 stage.addEventListener("mouseUp", dragStop); 

}

controller.btn_pause.addEventListener("click", btnPause);

controller.btn_play.addEventListener("click", btnPlay);

controller.btn_stop.addEventListener("click", btnStop);

function btnPause(e){

 contents.stop();

 controller.btnMc.gotoAndPlay("m2");

}

function btnPlay(e){

 contents.play();

 controller.btnMc.gotoAndPlay("m1"); 

}

function btnStop(e){

 contents.gotoAndStop(1);

 controller.btnMc.gotoAndPlay("m3"); 

}

function dragStart(e){

 removeEventListener("enterFrame", onEnter);

 e.target.startDrag(false, new Rectangle(0,0,range,0)); 

 e.target.addEventListener("enterFrame", onDrag);

}

function onDrag(e){

 var fNum:Number = Math.floor(contents.totalFrames * e.target.x / range);

 trace(fNum);

 contents.gotoAndStop(fNum);

}

function dragStop(e){

 controller.dragger.removeEventListener("enterFrame", onDrag); 

 addEventListener("enterFrame", onEnter);

 controller.dragger.stopDrag();

 var fNum:Number = Math.floor(contents.totalFrames * controller.dragger.x / range);

 trace(fNum);

 contents.gotoAndStop(fNum); 

 btnPlay(e);

}