▶ WM_PAINT
윈도우가 처음 만들어졌을때
윈도우 크기를 조절할 때
윈도우가 다른 윈도우에 가려졌다가 다시 보일때
함수 호출시: InvalidateRect, Invalidate, UpdateAllViews 등...
switch(iMessage)
{
case WM_PAINT: // 출력에 관한 모든 것을 담당한다. (문자, 그림, 도형 등등.. )
hdc = BeginPaint(hWnd,&ps)
// 이곳에 출력에 관한 코딩을 하면 된다.
// 1. 픽셀 충돌
SetPixel(hdc, 300, 200, RGB(255,0,0);
// 2. 원 충돌
// 게임 업계에서 충돌에 관해 아주 빠름 ( 원 반지름 안에 들어오면 충돌이 발생하는 심플한 애)
// 원의 중점을 구해주고 반지름을 구해주고 반지름 안에 들어오면 충돌발생
Ellipse(hdc, 300, 100, 200, 200);
// 3. ABB/ OBB에서 사용될 애
// 가장 보편적으로 쓰이고 있는 애
Rectangle(hdc,100,100,200,200);
// 보통 RECT를 쓸 때 변수를 이용하여 상대방과 내가 충돌했는지 이런것들을 알아야함.
Rectangle(hdc, rc.left, rc.top, rc.right, rc.bottom);
// API에서는 기본적으로 RECT충돌을 함
EndPaint(hWnd,&ps);
break;
}
Stdafx 헤더파일안에 우리가 쓸 헤더파일들을 다 넣는다.
사용자 정의 함수를 따로 만들어서 우리가 평상시에 자주 쓰는 함수들을 모아 넣는다.
( 그렇다면 굳이 길게 작성하지 않고 사용자 정의 헤더파일에서 불러와 쓴다면 더욱 편리하다 )