⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.h

📁 冰人引擎,本2d游戏引擎定位于游戏次中层引擎。他不像CDX等引擎那样
💻 H
字号:
//			Icer Game Engine v1.0
//						Http://www.ngame2000.com
//
//Author:杨冰(源代码之光)
//			E-mail:	iceryeah2000@163.com
//			QQ :	7746642
//
//Module:键盘控制类
//
//Create:2003-1-27
//Updata:2003-2-6
//
//Remark: Release v1.0 at 2003-1-28:	The function of keyboard are complete
//        Release v1.1 at 2003-2-6:		Add SINGLETON pattern
//		  Release v1.2 at 2003-2-15:	Modifying some functions' name

#pragma once

#include <dinput.h>
#define KEY_BUFFER_SIZE 8

class CKeyboard
{
public:
	~CKeyboard(void);

	static CKeyboard* Instance();

	bool Create(HINSTANCE hInst,HWND hWnd);	//创建键盘控制
	void GetKeyboardState(void);			//获取键盘状态

	//所有扫描值为DIK_XXXXX
	bool KeyDown(long value);			//当按键按下(缓冲模式)
	bool KeyUp(long value);				//当按键抬起(缓冲模式)
	bool KeyPress(long value);			//按键是否正处于按下状态(立即模式)

private:
	CKeyboard(void);

private:
	static CKeyboard*	 m_Instance;

	LPDIRECTINPUT8       m_pDI;
	LPDIRECTINPUTDEVICE8 m_pKeyboard;

	DIDEVICEOBJECTDATA	 m_didod[KEY_BUFFER_SIZE];		//DInput扩展缓冲
	DWORD				 m_dwElements;

	BYTE				 m_diks[256];					//键盘状态缓冲
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -