在3D游戏中模拟鼠标移动?

时间:2011-03-14 18:02:03

标签: c++ 3d directx mouse

您好 我在CodeBlocks IDE中使用C ++和OpenCV制作了一个人机界面来控制鼠标 http://www.youtube.com/watch?v=-q5aXTg0pVE 我想在像荣誉勋章这样的3D游戏中使用它

首先我使用了SetCursorPos(x,y)它没有用,所以我切换到SendInput和mouse_event。 他们确实使用了角色开始指向所有随机方向并自行改变方向的错误。

我应该使用directinput,因为游戏使用directx。 如果是这样的话? 我已经尝试了很多教程,但都讨论了如何从鼠标获取数据,而不是如何插入鼠标流 我使用绝对和相对定位,但两个都失败了角色表现奇怪

1 个答案:

答案 0 :(得分:4)

在没有看到你的代码的情况下,这个答案有点远,但是这里有。

SendInput应该有用,但我认为游戏本身就是干扰SetCursorPos。许多游戏将光标重置到每帧的屏幕中心,因此它不会意外地到达边缘。

尝试使用相对鼠标移动SendInput,所以不带 MOUSEINPUT结构中的MOUSEEVENTF_ABSOLUTE标记。