SetTimer,KillTimer
1. 셋타이머
SetTimer(hWnd,1,500,NULL);
2. 킬타이머
KillTimer(1);
1. SetTimer(hWnd,1,500,NULL); 500ms 에 한번씩 1번 이벤트를 실행
2. KillTimer(1); 1번 이벤트 타이머를 제거
3. 1000 = 1초
100 = 0.1초
10 = 0.01초
1 = 0.001초
4. 셋타이머 원형
SetTimer(hWnd,nIDEvent,nElapse,IpfnTimer);
hWnd : 윈도우 핸들
nIDEvent: 이벤트 아이디(아이디는 중복가능 주의)
nElapse : 반복할 시간 대입 최대 2147483647값을 넘으면 안된다함.
IpfnTimer: 시간마다 생기는 이벤트가 발생했을때 호출할 함수의 주소를 대입(포인터라함)
NULL값 넣고 WM_TIMER 로도 사용가능
GetTickCount();
GetTickCount();
시스템이 시작한 시점부터 이 함수를 호출한 시점까지 흘러간 시간을 알려주는 함수.
1000분의 1초 단위로 알려줌. (1000ms = 1s)
32비트의 한계로 49.7일이 지나면 오버플로가 생긴다함(49.7일을 켜놓을 이유가 있나?)
GetRickCount64();
같은 형식인데 얜 64비트라고 함. 49.7일을 넘길 수 있다는듯.
예전에 했던 srand(time(NULL));
대신 srand(GetTickCount()); 으로 사용 불꽃가능
GetAsyncKeyState(int vKet)
1.
GetAsyncKeyState(int vKey);
2.
GetKeyState(int vKey);
같은 일을 하지만 서로 미묘하게 다른 함수들
공통적으로는 키값을 입력받으면 경우에 따라 아래의 값(3.)을 반환함.
1. GetAsyncKeyState(int vKey);
키가 눌렸는지, 언제부터 눌렸는지를 확인할때 사용함
키값이 up과 down을 판단할 수 있다함
비동기로 처리함, 부르면 딴데 안새고 빠릿빠릿해서 여러므로 빠르다고 함.
2. GetKeyState(int vKey);
동기로 처리한다함 메시지 큐를 거치고 리턴해줌.
키를 연속적으로 입력받는게 가능!
키가 눌렸는지, 키의 토글상태가 무엇인지 확인할때 사용한다.
3. 리턴값.
0(0x0000) : 이전에 누른 적이 없고 호출 시점에도 눌려있지 않은 상태
0x8000 : 이전에 누른 적이 있고 호출 시점에는 눌려있지 않은 상태
0x8001 : 이전에 누른 적이 없고 호출 시점에는 눌려있는 상태
1(0x0001) : 이전에 누른 적이 있고 호출 시점에는 눌려있는 상태
'C++ 2D' 카테고리의 다른 글
9.애증의 피타고라스(삼각함수) (0) | 2021.06.13 |
---|---|
8. 원과 사각형 (0) | 2021.06.08 |
6. 싱글 톤 패턴 (0) | 2021.05.31 |
5. 마우스 (0) | 2021.05.28 |
3.Rect, WM, VK, InvalidateRect(,,) (0) | 2021.05.26 |