于我们练习的Demo一般都比较简单,对响应时间效率没有太高要求,因此键盘鼠标响应可以采用Win32的处理函数,而不必使用DirectInput,DirectInput在后面会专门再介绍。
为了方便使用,封装了一个Input类用于处理键盘鼠标消息,为了方便采用单例模式,代码很简单:
Input.h
1 #pragma once 2 #include <Windows.h> 3 4 class Input 5 { 6 public: 7 ~Input(); 8 9 public: 10 void Init(); 11 void Listen(UINT msg, float x, float y); // Listen to the user input 12 static Input* GetInstance() 13 { 14 static Input* instance = new Input(); 15 16 return instance; 17 } 18 19 public: 20 float GetMouseX() const; 21 float GetMouseY() const; 22 float GetLastMouseX() const; 23 float GetLastMouseY() const; 24 bool IsLMouseDown() const; 25 bool IsRMouseDown() const; 26 bool IsMouseUp() const; 27 bool IsMouseMove() const; 28 int IsKeyDown(int key) const; 29 30 private: 31 POINT m_lastMousePos; 32</