상세 컨텐츠

본문 제목

8강. 배너에 Timer 적용하기1

Programming/ActionScript3.0

by 노란날. 2011. 3. 24. 15:35

본문

반응형




//무비의 목표값
var yTarget:Number = 200;
//선택된 메뉴를 체크할 변수
var sNum:int = 0;


for(var i:int =0; i<4; i++){
 this["b"+i + "_btn"].addEventListener(MouseEvent.CLICK, onPlay);
 this["b"+i+"_btn"].buttonMode = true;
 //this["b"+i+"_btn"].no = i;
}

function onPlay(e:MouseEvent):void{
 //무비클립이 아닌경우 charAt 으로 체크해야하고, 무비클립인경우 no변수지정해서 쓸수있다
 //trace(e.currentTarget.no);
  var id:int =e.currentTarget.name.charAt(1);
 /*0 ==> 200+0*120;
 1 ==> 320 ==> 200+1*120
 2 ==> 440 ==> 220+2*120;
 3 ==> 560 ==> 200+3*120;*/
 yTarget = 200 + id*120;
 //선택된 값을 sNum 에 넣어두고, 그값이 i와 같으면, 즉 선택되면 2번프레임실행, 아니면 1번프레임실행한다.
 sNum = id;
 for(var i:int=0; i<4; i++){
  if(i==sNum){
   this["b"+i+"_btn"].gotoAndStop(2);
  }else{
   this["b"+i+"_btn"].gotoAndStop(1);
  }
 }
}

pic_mc.addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void{
 //이동할 위치 = 현재위치 + (목표값 - 현재위치)*속도;
 pic_mc.y = pic_mc.y + (yTarget - pic_mc.y)*0.3;
}

//타이머 달기
var timer:Timer = new Timer(2000,0);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
function onTimer(e:TimerEvent):void{
 //sNum의 숫자를 3이면 0번으로가게끔해서 3이상증가하지않게함.(버튼이3번까지존재)
 yTarget += 120;
 if(sNum ==3){
  sNum = 0;
 }else{
  sNum ++;
 }
 //Timer가 실행 될때도 버튼의 색이 바뀌게끔지정
 for(var i:int=0; i<4; i++){
  if(i ==sNum){
   this["b"+i+"_btn"].gotoAndStop(2);
  }else{
   this["b"+i+"_btn"].gotoAndStop(1);
  }
 }
 if(yTarget ==800){
  pic_mc.y = 200;
  yTarget = 200+120;
 }  
 
 
}

stage.addEventListener(MouseEvent.MOUSE_OVER, onStop);
function onStop(e:MouseEvent):void{
 timer.stop();
}
stage.addEventListener(MouseEvent.MOUSE_OUT, onRestart);
function onRestart(e:MouseEvent):void{
 timer.start();
}





반응형

관련글 더보기