728x90
키보드 이벤트에 관한 내용을 class 만들어서 어디서든 키보드 이벤트에 관한 내용을 사용 할 수 있도록 만듬
Keyboard
더보기
Keyboard.cpp
#include "stdafx.h" #include "Keyboard.h" Keyboard::Keyboard(){ for (int i = 0; i < KEYMAX; i++) { up.set(i, false); down.set(i, false); } } Keyboard::~Keyboard(){ } //키보드를 입력 했을때 bool Keyboard::Down(int key) { if (GetAsyncKeyState(key) & 0x8000) { if (down[key] == false) { down.set(key, true); return true; } } else { down.set(key, false); } return false; } bool Keyboard::Up(int key) { if (GetAsyncKeyState(key) & 0x8000) { up.set(key, true); } else { if (up[key] == true) { up.set(key, false); return true; } } return false; } bool Keyboard::Press(int key) { if (GetAsyncKeyState(key) & 0x8000) { return true; } return false; } bool Keyboard::Toggle(int key) { if (GetAsyncKeyState(key) & 0x8001) { return true; } return false; }
keyboard.h
#pragma once #define KEYMAX 256 //키보드 갯수 class Keyboard { public: Keyboard(); ~Keyboard(); bool Down(int key); // 아스키 코드로 받음 bool Up(int key); bool Press(int key); bool Toggle(int key); private: bitset<KEYMAX> up; //bool up[256] <-- 같은 원리 bitset<KEYMAX> down; //bool down[256] <-- 같은 원리 };
해당 키보드 class 이용해서 미리 적용한 오브젝트 이동을 실행한 내용
'DirectX > DirectX 2D_(구)' 카테고리의 다른 글
DX_카메라 시점변환 (0) | 2021.01.05 |
---|---|
DX_Move (0) | 2020.12.23 |
DX_DirectWrite (0) | 2020.11.24 |
DX_카메라 (고정, 자유) (0) | 2020.11.18 |
DX_ Clip, Animation (0) | 2020.11.17 |