상세 컨텐츠

본문 제목

7강. 배열을 이용한 메뉴 움직임

Programming/ActionScript3.0

by 노란날. 2011. 1. 18. 19:46

본문

반응형




// 원이 움직일  x좌표를 기억할 배열만들기
var xPos:Array = new Array();
xPos[0] = [100, 300 , 400, 200];// ==> xPos[0][2] ==> 400을 찾으라는 의미
xPos[1] = [300, 200, 300, 100];// ==> xPos[1][3] ==> 100을 찾으라는 의미
xPos[2] = [100, 100, 400, 300];
xPos[3] = [400, 300, 200, 300];

var yPos:Array = new Array();
yPos[0] = [100,200,300,250];
yPos[1] = [250,300,100,150];
yPos[2] = [200,350,300,100];
yPos[3] = [150,100,300,250];

// 인스턴스를 기억시킬 배열
var arr:Array = [m0_mc, m1_mc, m2_mc, m3_mc];

// 몇번메뉴가 선택되었는지 기억할 변수
var sNum:int = 0;

for (var i:int = 0; i< arr.length; i++) {
 arr[i].addEventListener(MouseEvent.CLICK, onClick);
}

function onClick(e:MouseEvent):void {
 sNum = e.currentTarget.name.charAt(1);
}
this.addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void {
 for (var i:int = 0; i<arr.length; i++) {
  //부드러운 움직임
  arr[i].x += (xPos[sNum][i] - arr[i].x)*0.2;
  arr[i].y += (yPos[sNum][i] - arr[i].y)*0.2;
  if (i ==sNum) {
   arr[i].scaleX = arr[i].scaleY += (2 - arr[i].scaleX)*0.2;
  } else {
   arr[i].scaleX = arr[i].scaleY += (1 - arr[i].scaleX)*0.2;
  }
 }
}

반응형

'Programming > ActionScript3.0' 카테고리의 다른 글

8강. Timer  (0) 2011.03.24
7강. 배열을 이용한 배너만들기  (0) 2011.01.18
7강. 2차원 배열  (0) 2011.01.18
7강. 배열을 이용한 메뉴만들기  (0) 2011.01.18
7강. 배열로 label찾기.  (0) 2011.01.18

관련글 더보기