WIN32API FrameWork/한단계씩 직접 구현

WIN32API FrameWork/한단계씩 직접 구현

09. Vector2 구조체

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com Vector2.h 헤더를 새로 생성하고, math.h를 포함시킨다. struct Vector2 벡터값을 계산할 구조체인 Vector2를 만든다. 이 구조체는 float 타입 x, y 변수(좌표)를 들고 있다. 생성자는 3가지로 오버로딩한다. 아무 인자를 넣지 않으면 0,0으로 초기화 float 타입 2개를 받아 각각 x, y를 초기화 같은 Vector2 타입을 받아 똑같이 초기..

WIN32API FrameWork/한단계씩 직접 구현

08. GameObject 상속 구조 짜기

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처 hyrule.tistory.com * 가상함수 https://hyrule.tistory.com/70 부모 클래스의 소멸자에 가상함수를 쓰는 이유 class CParent { public: CParent() { std::cout

WIN32API FrameWork/한단계씩 직접 구현

07. DeltaTime

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) hyrule.tistory.com [프레임과 게임 처리] 내 컴퓨터는 100프레임 PC방 컴퓨터는 200프레임 게임 코드는 1프레임당 한번 게임 로직을 처리 만약 게임 로직이 1프레임에 5씩 캐릭터를 이동시킨다면 내 컴퓨터에서 500 움직일 동안 PC방 컴퓨터는 1000을 움직이게 된다. 아주 심각한 문제 * 매 프레임마다 한 프레임을 그리는 데 걸렸던 시간을 변수에 저장한다. * 그리고 다음 프레임을 그..

WIN32API FrameWork/한단계씩 직접 구현

06. 화면 출력

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) hyrule.tistory.com CGameManager::m_hDC Device Context 핸들을 저장할 변수를 선언한다. 이 핸들은 쉽게 말해 '도화지와 그리기 도구 역할을 수행한다. GetDC() 인자로 윈도우 핸들(HWND)이 들어간다. 해당 윈도우에서 사용할 수 있는 Device Context 핸들을 반환한다. 초기화 시에 위의 변수에 저장해놓자. ReleaseDC() 1번 인자: 윈도우 핸들..

WIN32API FrameWork/한단계씩 직접 구현

05. PeekMessage 함수와 Run() 루프

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) hyrule.tistory.com 지난 1번 글에서, 게임은 왜 GetMessage를 안 쓰고 PeekMessage를 사용하는지 설명했었다. https://hyrule.tistory.com/109 01. 프레임워크에 사용될 WINAPI32 기본 생성 코드 알아보기 [WIN32API] 어렵게 생각할 필요 없이, Windows에서 제공하는 함수의 집합이다. 예를 들어 우리가 게임을 돌리고 있을 때 절전모드에 ..

WIN32API FrameWork/한단계씩 직접 구현

04. crtdbg 헤더를 통한 메모리 누수 잡기

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) hyrule.tistory.com #include _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); 프로그램이 종료되었을 때 누수 여부를 알려준다. CGameManager::CGameManager() { _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); } 이 코드를 CGameManag..

WIN32API FrameWork/한단계씩 직접 구현

03. 창이 생성될때의 사이즈 설정하기

https://hyrule.tistory.com/111 *** 공부 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) hyrule.tistory.com 지난 번에 창을 초기화하는 CreateWindowW() 함수에서 1280x720 사이즈로 창의 크기를 설정했었다. 근데, 이 방식에는 문제가 있다. 상단 타이틀바까지 합친 길이로 사이즈를 조정해놓는다는 것이다. 하지만 상단 타이틀바를 제외한 하단 클라이언트 창 영역만 1280x720로 잡는 것이 일반적이기 때문에, CGameManager::Create() 함수에 대한 수정..

WIN32API FrameWork/한단계씩 직접 구현

*** 공부 방법 ***

1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처음 보는 함수들에만 설명을 추가해 놓고, 나머지 이미 나왔던 내용들은 구현 방법만 적어놓을 것임. (ex) 이 함수는 int형 변수 x와 y를 인자로 받는다. x와 y의 합을 구해 int형으로 return한다. 3. 해당 구현 로직을 보고 Visual Studio에서 직접 코드를 작성해 본다. 4. 각 글에는 참고용 코드 솔루션 압축파일이 있다. 웬만하면 참고용 코드를 최대한 보지 않고 혼자서 코드를 작성하다가 정 모르겠으면 열어서 확인하자. 이 코드와 내 코드를 비교하여 분석하고, 개선점이..

WIN32API FrameWork/한단계씩 직접 구현

02. 프레임워크 기본 설정 및 간단한 구현

*** 공부하는 방법 *** 1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. (ex) 이 함수는 int형 변수 x와 y를 인자로 받는다. x와 y의 합을 구해 int형으로 return한다. 3. 해당 구현 로직을 보고 Visual Studio에서 직접 코드를 작성해 본다. 4. 각 글에는 참고용 코드 솔루션 첨부파일이 업로드되어 있다. 이 코드와 내 코드를 비교하여 분석하고, 개선점이 있으면 수정한다. 물론 참고 코드가 최고의 방법이라는 것은 아니다. 내가 짠 코드가 더 효율적이라 생각되면 내 코드를 그대로 사용하자. int MakeFunc..

WIN32API FrameWork/한단계씩 직접 구현

01. 프레임워크에 사용될 WINAPI32 기본 생성 코드 알아보기

[WIN32API] 어렵게 생각할 필요 없이, Windows에서 제공하는 함수의 집합이다. 예를 들어 우리가 게임을 돌리고 있을 때 절전모드에 진입하는걸 막는다던지 하는 것들을 조정하도록 해 주는 것이다. Window: 메시지 기반의 운영체제이다. 우리가 마우스 조작, 키보드 조작 등을 하는 모든 행위를 '이벤트'라고 한다. 이러한 이벤트가 발생 되면 윈도우즈라는 운영체제는 모든 행위의 이벤트들을 '메시지'로 바꾼다. 마우스를 움직이거나 클릭, 키보드를 입력 등 모든 행위가 이벤트가 되고 해당 이벤트를 메시지로 변경하여 들어오는 메시지에 따라 원하는 동작을 만들어주는 개념이다. 모든 프로그램에는 메시지를 저장하는 메시지 큐가 존재하고 선입선출로 처리한다. 모든 프로그램은 while문을 통해 메시지 큐를 ..

hyrule
'WIN32API FrameWork/한단계씩 직접 구현' 카테고리의 글 목록 (7 Page)