将DirectInput封装为基本的输入系统
来源:互联网 发布:中国气象数据网下载 编辑:程序博客网 时间:2024/05/16 12:49
将DirectInput封装为基本的输入系统
作者:蒋轶民 创作于2011年2月8日1:07:15
了解DirectInput的即时数据和缓冲数据后,我们开始着手制作一个简单的基于DirectInput的输入系统了。
我制作这样一个系统的思路是这样的:将那些琐碎的步骤全都封装在我自己写的一个类CInputSystem中。这个类是基于DirectX库的,主要提供键盘的处理。通过这个类,我们可以简单地控制键盘,并且提供了即时数据和缓冲数据。
对于错误处理,我并没有使用c++的try-catch异常处理机制,而是使用了错误码。错误码对于简单的系统来说应该是很有效的,虽然在自己游戏的进程中可能会引起一些小麻烦,但是在最初的实验还是挺管用的,以后我还会修正充实。
在最初,我设计了这样的一个类:添加简单的默认构造函数和析构函数,然后制作了一个Initialize()函数,初始化了各项数据。这样就封装了细节,大大简化了我们的操作。另外我还提供了更新系统UpdateSystem()函数和检测按键按下的KeyDown()函数。另外我还提供了转化输入种类的ShiftInputStyle()函数。
将UpdateSystem()函数和KeyDown()函数声明为内联函数,可以提升程序的运行效率。
下面就是我的InputSystem.h文件:
我们这样调用:
通过测试,成功,并且效果不错。以下就是我的截图,通过按下B键可以转换为缓冲数据,按下I键可以转换为即时数据。缓冲数据和即时数据的差别是很大的,我们可以通过截图来证实。
好啦,把基本输入系统做好了,接下来就可以进行我的数据存储和读取系统了,这是我上个学期落下的工程,现在一定要完成!
源代码和说明文档请点这里->http://download.csdn.net/source/3016618
- 将DirectInput封装为基本的输入系统
- 将DirectInput封装为基本的输入系统
- Direct3D-封装DirectInput
- DIRECTINPUT输入函数库
- Windows编程 DirectInput 鼠标和键盘的输入
- 如何将PADS layout的封装转换为allegro封装
- 前台将数据存入集合并封装为JSON格式,后台用list遍历输入
- 将自己的类封装为lib的方法
- DirectInput的协调级别。
- 将游戏中的行为封装为自我管理的对象(1)
- 将webkit内核封装为duilib的浏览器控件
- 将webkit内核封装为duilib的浏览器控件
- 将webkit内核封装为duilib的浏览器控件
- 如何将ORM框架封装为通用的BaseDao
- OpenGL系统设计-DirectInput(1)
- OpenGL系统设计-DirectInput(2)
- OpenGL系统设计-DirectInput(3)
- ip转换为基本类型的简单封装
- ext核心API详解
- Silverlight实例教程 - Validation服务器端异步数据验证
- 插入排序:直接插入排序和希尔排序
- 开发者决定移动市场
- matlab的.m文件保存的命名规则
- 将DirectInput封装为基本的输入系统
- learn ubuntu
- 菜鸟的开始
- 自己制作的数据存入和读取系统
- ZendFramework运行环境配置
- 自己制作的主框架系统
- 我把sql2000服务器端口1433改成了2434 客户端设置别名后为什么还要输入2434端口才能连上
- POJ 3660 floyd算法统计无关点个数
- POJ 3304 计算几何