使用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接口,比如某些游戲桿和某些鼠標上的力反饋效果。