20151119 - (2) 글이 많아져서.. 너무 느려짐
·
TEMP/내용 정리중인 글들..
게임 실행시.. 1. 메모리에 각각 비트맵을 LoadBitmap() 를 이용해 핸들러 값을 각 비트맵 변수에 담아둔다.2. 다음 우리가 정의한 함수인 LoadMap()를 호출하여 우리가 정의한 맵 값인 영구적인, 불변의 맵 값인 ucStageMap의 맵 값들을가변적으로 이용할 맵 변수인 ucMap 에 2중 for문을 활용하여 넣는다. 하지만 왜 memcpy() 로 간단히 안 넣었을까.이유는,1. 우리가 정의한 맵 안의 '.' 최대 갯수도 세아려야 하고,2. 주인공의 표시인 '@' 값도 그 위치 값만 들고오고 '@' 값은 읽어들이면 그 부분이 불변의 값이 되므로 클론이 만들어 지므로안된다.3. 히어로의 기본적인 그림 상태를 hbmHero = hbmFront; 로 설정해 두고 윈도우 선 처리 작업을 마친다...
20151119 - 매핑기법, 주인공의 이동
·
TEMP/내용 정리중인 글들..
맵을 만드는 수업 중이다. 맵이 완성되었고 소스는, #include #include "resource.h" #include "Smart.h" LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE g_hInst; LPSTR lpszClass = L"PushPushGame"; LRESULT On_Destroy(HWND, WPARAM, LPARAM); LRESULT On_Create(HWND hWnd, WPARAM wParam, LPARAM lParam); LRESULT On_Paint(HWND hWnd, WPARAM wParam, LPARAM lParam); LRESULT On_KeyDown(HWND hWnd, WPARAM wParam, LPARA..
20151118 - 게임 만들기 ( 2 일 차 )
·
TEMP/내용 정리중인 글들..
어제 피부과 갔어서 잠시 복습. CreateWindow() 인자 값 설정으로 사용자가 창을 확대, 축소 하는 것을 막는다. CreateWindow() 는 윈도우 클래스와 이 함수의 인수 정보를 바탕으로 하여 윈도우를 생성한다. RegisterClass 함수로 직접 윈도우 클래스를 등록하여메인 윈도우를 만들 수도 있으며 또는 이미 등록된 컨트롤을 생성할 수도 있다.이 ㅎ마수는 윈도우 생성 후 WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE 메시지를 해당 윈도우로 차례대로 보내주며 WS_VISIBLE 스타일이지정되어 있을 경우 윈도우를 보여주고 활성화 시키기 위한 모든 동작을 하며 관련 메시지를 보내준다. HWND CreateWindow(lpszClassName, lpszWindow..
20151117 - 수업 진행 중, 과제 내주고 피부과 간 날 (현재 게임 만드는 중.)
·
TEMP/내용 정리중인 글들..
5-4 액셀러레이터액셀러레이터(Accelerator)는 아주 쉽게 말해서 단축키이다. 아래 한글을 예로 든다면 Alt+L을 누르면 문자 꾸미기 기능, Ctrl+P를 누르면 프린터 설정 기능이 곧바로 실행되도록 하는 키보드 조합키를 말한다. 그런데 왜 단축키라는 말을 쓰지 않고 어렵게시리 영어를 쓰는가 하면 윈도우즈에서 단축키(ShortCut)라는 말은 다른 의미로 사용되고 있기 때문이다. 메뉴 이름에 &를 넣어 Alt키와 함께 사용하는 키를 단축키라고 하며 여기서 말하는 액셀러레이터와는 의미가 조금 다르다. 단축키는 반드시 Alt키와 함께 사용해야 하며 메뉴에 있는 항목을 키보드로 선택하는 빠른 방법이지만 액셀러레이터는 메뉴와 상관없이 언제든지 사용할 수 있다는 점에 있어서 차이가 있다.여기서는 Menu..
20151116 - TranslateMessage 커서 제어 등, 메뉴만들기 등 3일차
·
TEMP/내용 정리중인 글들..
4-1-라. TranslateMessage 키보드에서 A키를 눌렀다 뗐다고 해 보자. 이 때 발생하는 메시지는 순서대로 WM_KEYDOWN, WM_CHAR, WM_KEYUP 세가지이다. 이 중 WM_CHAR 메시지는 사용자에 의해 발생하는 메시지가 아니다. 키보드로부터 전달되는 메시지는 키를 누를 때 WM_KEYDOWN, 키를 뗄 때 WM_KEYUP 두가지뿐이다. 그럼 WM_CHAR 메시지는 어디서 발생할까? 이 메시지는 WM_KEYDOWN에 의해 추가로 발생하는 메시지이며 메시지 루프에서 인위적으로 생성된다. Key 프로젝트를 연 후 메시지 루프를 다시 보자.while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&..
20151112 - WinAPI 기본형 배우기
·
TEMP/내용 정리중인 글들..
남수진 씨 20151112 winapi 첫 수업 앞으로의 기본형 소스기본형을 쓰라면 이 소스를 작성한다 헤더파일은 windows.h 하나만LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); LRESULT: long 형 반환값CALLBACK컴파일 후 사라진다어셈블리 단계에서는 의미가 없다이걸 지워도 동작함운영체제가 호출하는 함수프로그램 내부에서는 호출되지 않음함수 call 방식을 결정(cdecl이나 stdcall)HWND윈도우 핸들러(int 형 정수)WPARAMunsigned int 형(4byte)LPARAMlong 형(4byte)int가 16bit이던 시절에 32bit로 쓰다가 32비트로 넘어와서 int가 4byte가 되어서도 그대로 유지HINSTANCE g_hIn..