이전에 책 보고 기본 뼈대만 만들어 뒀던 Flash 매치3(match-3) 퍼즐 게임 프로토타입 수정.

* 마우스로 블록을 드래그하여 같은 모양의 블록이 3개 이상 모일 경우 제거되는 match-3 퍼즐 게임(Bejeweled, 애니팡 등이 이 종류).
* 오른쪽 청색 부분을 클릭하면 이동 가능한 블록들이 텍스트 박스에 표시된다.
* 더이상 움직일 수 없으면 Game Over가 되고 Restart 버튼을 클릭하면 새로 게임이 시작된다.

14/5/19 월

수정사항:

* 마우스로 드래그하여 이동 가능하게 변경.
stage.addEventListener(MouseEvent.CLICK, onClick); 이던 것을
stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onClick);
2개로 나누고 onDown() 함수를 추가해서 가능케 하다.

* 게임 화면 이외의 곳을 누르면 나오는 힌트가 텍스트박스에 표시되게 수정.

* cantMove()함수 추가하고 마우스 놓을 때 호출되는 함수인 onClick()의 맨 마지막 줄에 cantMove()함수를 호출하게 해 게임오버 여부 판단을 하고 게임오버시 텍스트 창에 표시되게 하다.
textOut.scrollV = textOut.maxScrollV; 로 텍스트 박스의 맨 밑줄이 보이게 만들다.

* 재시작 버튼 추가. 게임오버 처리, 게임 재시작 처리 함수 추가.

* 게임오버 이후 재시작할 수 있게 만들다. 컨테이너의 내용을 비우는 법을 몰라서 꽤 헤메다. 테스트용으로 엔터키를 누르면 바로 게임오버가 되게 추가.

* 제거한 보석 수 텍스트 박스에 표시하게 변경.

컨테이너 내용 채우기.

var gemsContainer:Sprite=new Sprite();
//모든 보석을 포함할 DisplayObject 생성

addChild(gemsContainer);
//8*8 크기 2차원 배열 생성,0~7사이 무작위 숫자로 채우기
for(var i:uint=0; i<8; i++){
   jewels[i]=new Array();
   for(var j:uint=0; j<8; j++){
      jewels[i][j]=Math.floor(Math.random()*7);
      gem = new gem_mc(jewels[i][j],i,j);
      //gem_mc 클래스 생성자의 인자(보석종류, 열위치, 행위치)
      gemsContainer.addChild(gem);
      //생성된 보석 컨테이너에 담기
   }
}

컨테이너 내용 비우기.

for(var i:uint=gemsContainer.numChildren; i > 0; i--){
   gemsContainer.removeChildAt(0);
}