目前我只使用WM_MOUSEMOVE消息,但它將鼠標移動限制爲最大分辨率。那麼用Win32捕獲鼠標的最佳方式是什麼(在OpenGl窗口中)?我不想使用freeglut或任何額外的庫。捕獲鼠標在win32/Opengl中的移動
0
A
回答
2
對於遊戲和實時DirectInput是非常合適的,它適度難以使用。
不是核心的Win32 API,獲取輸入的方式WINAPI要麼是GetCursorPos/SetCursorPos通過自己的更新循環驅動,所以您查詢,並用自己的頻率復位。
或SetCapture然後在WM_MOUSEMOVE上撥打SetCursorPos。 設置光標pos的要點是爲移動留出空間,以便您可以獲得增量,即自上次更新以來光標移動的量,然後將光標放回窗口中心。
0
如果你希望能夠捕捉到鼠標事件鼠標已存在的窗口後,那麼你可能要考慮的SetCapture功能
如果你的問題是,你想使一個FPS遊戲,你希望您的角色能夠以連續運動旋轉,然後您希望在每次鼠標移動事件後將鼠標位置設置爲窗口中心,並根據鼠標移動事件時光標位置的差異來處理輸入被解僱和屏幕的中心。要設置鼠標的位置,您可以使用SetCursorPos函數。
0
你最好的選擇是使用DirectInput(這可能有點痛苦)或RawInput。
在Using RawInput頁面有一個相當全面的例子(見例2)。
相關問題
- 1. 捕獲鼠標移動SVG
- 2. 鼠標移動捕獲
- 3. 鼠標移動捕獲(鼠標離開和鼠標輸入)
- 4. 如何用python捕獲鼠標移動?
- 5. 如何捕獲鼠標移動事件
- 6. 在Firefox中捕捉鼠標移動
- 7. 如何在C++ Win32中捕獲鼠標移動過標題欄?
- 8. 在Firefox中捕獲鼠標
- 9. 捕獲鼠標運動
- 10. 捕獲鼠標
- 11. jQuery的鼠標移動()獲取無鼠標移動
- 12. 如何在按鈕上捕獲鼠標移動
- 13. 捕獲(捕獲)Java中的窗口中的鼠標光標
- 14. WinForms鼠標捕獲
- 15. java鼠標捕獲
- 16. 如何捕獲C#表單應用程序的鼠標移動?
- 17. 獲取鼠標與鼠標移動的座標上的路線
- 18. 鼠標捕獲的差異
- 19. SetWindowsHookEx與WH_MOUSE不捕獲鼠標移動到HTCAPTION區域
- 20. 鼠標移動過快,以捕獲事件
- 21. CSS菜單項不捕獲所有鼠標移動
- 22. MDI子捕獲鼠標輸入移動父MDI容器
- 23. 移動鼠標
- 24. 如何在DataGridViewRow中捕獲鼠標,因此它只能在行內移動
- 25. wpf中的鼠標移動
- 26. 捕獲鼠標移動並捕捉攝像頭拍攝的Linux腳本:庫?
- 27. 在UserControl中捕獲鼠標點擊
- 28. 在python中捕獲鼠標單擊
- 29. 在C(linux)中捕獲鼠標事件
- 30. HTML5動畫,捕捉鼠標移動而不中斷?