使用DirectInput进行交互(4) 摘要:
游戏杆是游戏控制的支柱,尽管游戏杆不是游戏惟一可以使用的输入设备,但它却是专门为玩游戏而设计的。将游戏杆向左推,游戏人物就会向左走,按下一个按键,游戏中的英雄就会挥舞他的剑,还有什么比这更容易的吗?
游戏杆的形状和大小千差万别,商店货架上的方向盘控制器就是一个游戏杆。如果去过街机游戏厅,就可能玩过允许(或要求)玩家站在很大的踏雪板或骑在小摩托车上来控制屏幕上的角色之类的游戏。别惊奇,这些踏雪板和摩托车甚至都可以看成是游戏杆!
使用DirectInput进行交互(3) 摘要:
鼠标的工作原理理解起来并不难,在最底层,鼠标通知系统它要移动到某个方向,每次移动一个记号,驱动程序读取这个数据后,将记号转化为相对移动值。
在通常的应用程序中,windows得到鼠标的移动并通过消息处理函数将移动作为消息报告给用户。使用消息处理函数有时速度会非常慢,因为传递给消息处理函数的每个消息要被插入到队列中,这样消息就只会按照他们加入到队列中的顺序被处理。要加快接收以及处理鼠标输入的过程,就必须直接同鼠标的驱动程序进行交互,而不采用windows消息处理函数。
使用DirectInput进行交互(2) 摘要: 本篇是 使用DirectInput进行交互(1)的续篇。
设置数据格式
每种设备都有一种用于读取数据的特定数据格式,需要考虑的东西也很多,包括键、鼠标按键、轴等。因此要使程序从设备读取数据,首先必须告诉
DirectInput读取这种数据所采用的格式。通过 IDirectInputDevice8::SetDataFormat函数即可满足上述要求。
使用DirectInput进行交互(1) 摘要:
DirectInput是一些COM对象的集合(和所有DirectX组件相同),这些COM对象描绘了输入系统和各个输入设备。最主要的对象是DirectInput8,它用于初始化系统以及创建输入设备接口。
DirectInput COM对象:
IDirectInput8:主要的DirectInput8 COM接口,其他所有接口都通过这个接口进行查询。
DirectInputDevice8:用于输入设备的COM接口,每个设备都有自己单独的接口可供使用。
DirectInputEffect:用于力反馈效果的 COM接口,比如某些游戏杆和某些鼠标上的力反馈效果。