godurum/일반

2D테트리스만들기 2. 화면다루기 3) 키보드로박스움직이기

민성아빠 2004. 5. 16. 13:33
####################################################
   2D테트리스만들기

             2. 화면다루기

                  2) 키보드로박스움직이기

####################################################

키보드로 박스를 좌우하로 움직이는 방법을 배우도록 하겠습니다.    이전 강의에서

이어지는 내용입니다.    추가된 내용만 올리겠습니다.

//------------실전 예 시작------------------

...

/************** 전역변수 선언 ***************/
short                        x=400, y=110; // 박스좌표를 전역변수로 선언
/*****************************************/

...

void OnKeyDown(HWND hwnd, UINT vk, bool fdown, int cRepeat, UINT flags)
{

...

                case VK_LEFT:
                        hdc = GetDC(hwnd);

                        SelectObject(hdc, GetStockObject(WHITE_PEN));

                        Rectangle(hdc, x, y, x+10, y+10);

                        SelectObject(hdc, GetStockObject(BLACK_PEN));

                        x = x-10;

                        Rectangle(hdc, x, y, x+10, y+10);
                        break;

                case VK_RIGHT:
                        hdc = GetDC(hwnd);
                        
                        SelectObject(hdc, GetStockObject(WHITE_PEN));

                        Rectangle(hdc, x, y, x+10, y+10);

                        SelectObject(hdc, GetStockObject(BLACK_PEN));

                        x = x+10;

                        Rectangle(hdc, x, y, x+10, y+10);
                        break;

                case VK_DOWN:
                        hdc = GetDC(hwnd);
                        
                        SelectObject(hdc, GetStockObject(WHITE_PEN));

                        Rectangle(hdc, x, y, x+10, y+10);

                        SelectObject(hdc, GetStockObject(BLACK_PEN));

                        y = y+10;

                        Rectangle(hdc, x, y, x+10, y+10);
                        break;

...

}

...

//------------실전 예 끝------------------


3) 키보드로박스 움직이기

OnUser에 있던 static 박스 좌표를 전역 변수로 선언하였습니다.    

VK_LEFT : 키보드 왼쪽 화살표가 눌렸을 때 x좌표를 한칸 왼쪽으로 움직인다.

VK_RIGHT : 키보드 왼쪽 화살표가 눌렸을 때 x좌표를 한칸 오른쪽으로 움직인다.

VK_DOWN : 키보드 왼쪽 화살표가 눌렸을 때 y좌표를 한칸 아래로로 움직인다.

특별히 어려운 내용은 없을 것입니다.