在游戏中使用 python 控制鼠标移动

Posted

技术标签:

【中文标题】在游戏中使用 python 控制鼠标移动【英文标题】:Controlling mouse movement with python inside a game 【发布时间】:2018-08-29 21:15:27 【问题描述】:

我想通过让我的代理玩视频游戏来学习一些强化学习概念。为此,我想控制游戏内的鼠标移动。

我一直在摆弄win32api,使用win32api.SetCursorPos((x,y))来移动鼠标。虽然这在我的桌面上完美运行,但我无法找到一种方法来翻译游戏中的动作。

我也试过使用 pyautogui 也没有运气。

关于如何解决这个问题的任何建议?

【问题讨论】:

【参考方案1】:
from pynput.mouse import Controller, Button


def clickAt(Mouse, x, y):
    Mouse.position = (x, y)
    Mouse.press(Button.right)
    Mouse.release(Button.right)


Mouse = Controller()
clickAt(Mouse,100,100)

这就是你使用 pynput 的方式

【讨论】:

与我尝试过的其他模块相同的问题。它可以在桌面上运行,但不能在游戏中运行:S 将游戏置于窗口模式而不是全屏模式。 我做到了,但是一旦我点击游戏窗口鼠标“消失”。它可以识别鼠标点击,但不能识别移动 这完全是一个不同的问题,您需要弄清楚游戏本身处理输入的库/方式,然后找到一种模拟方法,使其按照您的意愿运行。

以上是关于在游戏中使用 python 控制鼠标移动的主要内容,如果未能解决你的问题,请参考以下文章

允许在 DirectX 中移动鼠标的 Python 模块

UE4 人物控制移动

如何用python写ios的游戏脚本?

Unity3D写C#脚本,用鼠标左键按下选中模型时,控制一个模型按照模型的X轴向移动,Y轴向移动,Z轴向移动。

游戏制作工作室2:子弹不向鼠标方向移动

python使用笔记:pyautogui自动化控制鼠标和键盘