2009년 10월 26일
짤셔틀 개발일지
오늘의 감상. 프로그램 코드는 한글자로도 결과가 천차만별이다.
썅;;
어떻게 슬래쉬 하나 안넣었다고;;
# by | 2009/10/26 23:23 | 사는 이야기 | 트랙백 | 덧글(4)
다이렉트로 2D슈팅 만들기 2장
1.
프로젝트를 생성
Win32프로젝트로 잉여롭게 생성


LRESULT WINAPI WndProc(HWND, UINT, WPARAM, LPARAM); // 윈도우의 메세지 프록
LPSTR WinText = "윈도우 32비트 꼐임"; // 창 제목으로 쓸 문자열
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT) // WinMain함수에서 지금 쓸건 첫번째 인수밖에 없다
{
HWND hWnd; // 윈도우 핸들값
WNDCLASS wc; // 윈도우 클래스
wc.cbClsExtra = 0; // 딱히 모름;
wc.cbWndExtra = 0; // 딱히 모름;
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 창의 바탕색을 흰색으로 만듬
wc.hCursor = LoadCursor(NULL, IDC_ARROW); // 현재 운영체제에 적용된 마우스 커서를 가져옴
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 어플리케이션 아이콘(그러니까 그냥 응용 프로그램 아이콘) 가져옴
wc.hInstance = hInst; // 저 위의 인스턴스값 삽입
wc.lpfnWndProc = WndProc; // 메세지 프록 함수 포인터. 이렇게만 적어놓으면 딱히 신경 쓸 필요 없음
wc.lpszClassName = WinText; // 창 이름이랑 똑같이 해두면 편하다
wc.lpszMenuName = NULL; // 딱히 신경 쓸 필요 없음
wc.style = CS_VREDRAW | CS_HREDRAW; // 창의 크기가 변하면 창을 새로 그린다
::RegisterClass(&wc); // 윈도우 클래스를 등록
RECT r = {0, 0, 800, 600}; // 윈도우 창 크기를 설정
::AdjustWindowRect(&r, WS_SYSMENU | WS_CAPTION, false); // 안쪽의 크기가 800, 600이 되도록 제목과 창 크기에 맞춰 크기를 늘려줌
hWnd = CreateWindow(WinText, WinText, WS_SYSMENU | WS_CAPTION, 100, 100,
r.right - r.left, r.bottom - r.top, NULL, NULL, hInst, NULL); // 윈도우를 생성한다
g_hWnd = hWnd; // 핸들값을 함수 밖에다 알려준다
ShowWindow(hWnd, SW_SHOWDEFAULT); 윈도우 표시
UpdateWindow(hWnd); // 윈도우 새로고침
MSG msg; // 메세지 구조체 생성
ZeroMemory(&msg, sizeof(MSG)); // 꼭 ZeroMemory로 0으로 비워줘야 한다
while(msg.message != WM_QUIT) // 메세지가 WM_QUIT이 아닐때 무한루프
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) // 메세지가 있나 확인, 있으면 아래로 실행한다
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return 0;
}
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) // 윈도우 메세지 콜백 함수
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
여기까지만 적어주면 된다
여기서 잠깐 컴파일해서 실행
아 혹시 LPWSTR이나 LPCSTR어쩌구저쩌구 지롤하면서 컴파일이 안되면
2005, 2008기준 Alt + F7을 눌러서 속성창을 연 다음
오른쪽 위의 구성을 전체로 바꾸고 문자 집합을 멀티바이트로 바꾸면 된다

# by | 2009/10/18 01:09 | 게임을 만들자 | 트랙백 | 덧글(4)
주의사항
- 생 초보적인 코드.
- 3D배경? 그딴거 없다
- 32비트 환경에서 Visual Studio 2005를 쓰는 가정 하에 서술
1.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b66e14b8-8505-4b17-bf80-edb2df5abad4
일단 다이렉트 SDK를 받아 설치한다
2.
VS2005에서 도구->옵션을 들어간다.

# by | 2009/10/16 23:47 | 게임을 만들자 | 트랙백 | 덧글(4)
◀ 이전 페이지 다음 페이지 ▶