//무비의 목표값
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();
}
8강. TweenMax - 모션 외부 라이브러리 불러오기1 (0) | 2011.03.24 |
---|---|
8강. 배너에 Timer 적옹햐기2 (0) | 2011.03.24 |
8강. Timer (0) | 2011.03.24 |
7강. 배열을 이용한 배너만들기 (0) | 2011.01.18 |
7강. 배열을 이용한 메뉴 움직임 (0) | 2011.01.18 |