python 模拟鼠标移动,无法在游戏中生效,这是为啥呢?

本人用python模拟鼠标的点击 和 移动,想把这些操作用在一个单机游戏中,方便一些重复的操作。主要代码如下: import subprocess i…
关注者
32
被浏览
164,892

5 个回答

你在进入游戏后鼠标模式就会从 raw input 切换为 direct input 模式,所以这时候你即使用python改了你本机的鼠标坐标,也移动不了游戏视角的。

这个模式应该是DirectX那家公司创的,就是众所周知的DX9,DX11。而这些都是基于C语言和Windows环境。所以目前只知道能在windows中实现调用 direct mouse input,而 linux / mac 目前还未知。

所以开发游戏脚本/强化学习算法,最好还是在windows上做。

调用方法就是楼下提到的 win32api 库,或者下文中的 ctypes 库,再或者是专门为控制游戏视角而开发的python库 pydirectinput 都可以,后两者本质也是调用 win32api。

[更新一下笔记]

如果上述方式依然无法移动视角或视角以奇怪的方式切换,则可以试试 poco 库。