0
A
回答
1
这通常通过在Linux中将鼠标“翘曲”回到屏幕中心来实现。 Here是一个论坛主题,使用流行的SDL库来做实际的鼠标读取。
在Windows中,使用较低级别的输入API(如XInput)进行调查。
1
执行此操作的一些代码可能需要特定于平台。例如,在Windows上,当用户拖动鼠标时,通常会进行相机旋转。您可以通过捕获鼠标并在捕获时回复WM_MOUSEMOVE
消息来处理它。捕获鼠标时,即使光标位置超出窗口边界,您仍将继续收到鼠标移动消息。
它看起来像放松已经覆盖X很好,所以我不会在这里重复。
+0
感谢您的额外细节:) – Ben 2010-05-18 15:01:27
3
使用glutWarpPointer在每次鼠标移动后都会将鼠标移回屏幕中间(这将在glutMotionFunc,glutPassiveMotionFunc中)。 使用glutsetcursor来更改或隐藏光标的外观。
1
根据您使用的平台和工具,您可以让鼠标移动,然后计算距离,然后将其移回屏幕中央(或OpenGl窗口)。
int x,y;
GetMousePosition(&x,&y);
int deltaX = x-SCREEN_WIDTH/2;
int deltaY = y-SCREEN_WIDTH/2;
MoveMouse(SCREEN_WIDTH/2,SCREEN_HEIGHT/2);
这样,您可以在保持鼠标位于同一位置的情况下轻松获得鼠标移动,从而避免出现问题。请注意,GetMousePosition
和MoveMouse
是通用函数名称,因为这取决于您使用的操作系统和/或库。
相关问题
- 1. 如何启用扩展鼠标模式?
- 2. Firefox扩展:在下载窗口
- 3. 扩展接口模式
- 4. 在窗口中的鼠标模拟
- 5. Silverlight OOB窗口扩展航空玻璃
- 6. WPF扩展窗口
- 7. Chrome扩展使鼠标点击扩展
- 8. OpenGL扩展:如何在OS X下使用它们 - OpenGL新手
- 9. 无功扩展滑动时间窗口
- 10. 在窗口之间模拟鼠标选择消息
- 11. 鼠标按下并释放窗口
- 12. 如何阻止鼠标退出窗口?
- 13. 地址窗口扩展
- 14. WPF - 向左扩展窗口
- 15. 如何将窗口的高度从窗口扩展到窗口的底部
- 16. 如何保存单窗口/扩展多窗口的VS窗口布局?
- 17. 如何扩展扩展类的接口
- 18. 建造者模式。扩展接口
- 19. VirtualBox:如何在图形模式下扩展视图?
- 20. Python(海龟模块) - 鼠标光标在窗口中的位置
- 21. OpenGL:从GLSL中的窗口空间坐标计算眼图坐标?
- 22. 如何在无痕模式下为Chrome扩展程序启用pageAction图标?
- 23. Android OpenGL扩展GLSurfaceView空指针异常
- 24. 在TypeScript中扩展Kendo UI窗口
- 25. PuTTY:Linux窗口 - 如何在函数期间更新窗口标题?
- 26. 下载窗口中的firefox下载文件 - Firefox扩展!
- 27. 如何摆脱全屏独占模式下的鼠标光标?
- 28. 在Chrome扩展的弹出窗口的上下文菜单
- 29. 如何在任何打开的窗口中的鼠标下获取文本
- 30. Chrome扩展程序 - 在鼠标上显示弹出式菜单
干杯队友。这种明显的解决方案。再次感谢。 – Ben 2010-05-18 15:01:49