如何从Python向游戏发送方向盘/操纵杆输入?

2024-09-26 22:54:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将机器学习模型中计算的一系列方向盘输入(方向盘、加速器、制动器)发送到游戏中,以实现自动驾驶。 我已经使用pynput发送钥匙并用['w'、'a'、's'、'd']控制汽车,但是我想要一种更平滑的方法来控制汽车,因此我正在寻找一种在python中模拟操纵杆的方法。所以我 可以发送方向盘和加速器的模拟输入

我以前使用过这种类型的代码来输入控件

from pynput.keyboard import Key, Controller
import time

keyboard = Controller()
keyboard.press('w')
time.sleep(1)
keyboard.release('w')

Tags: 方法模型import机器游戏time汽车钥匙
1条回答
网友
1楼 · 发布于 2024-09-26 22:54:45

我用Vjoy来模拟joysick并创建一个虚拟操纵杆;使用FreePie作为Feeder应用程序,并编写了一个Python脚本,将每个轴的输入值发送给Vjoy。 我的Vjoy脚本:- 目前,我使用鼠标的运动来发送X轴和Y轴的值,但您可以使用任何您喜欢的方式

from System import Int16

if starting:
    system.setThreadTiming(TimingTypes.HighresSystemTimer)
    system.threadExecutionInterval = 5
    x = 0
    y = 0
    max = 1
    min = -max

    
    vjoy = vJoy[0] # controlling Vjoy Device 0
    sensX = 50
    sensY = 50

y -= mouse.deltaY * sensY
x += mouse.deltaX * sensX

if x > max:
    x = max
elif x < min:
    x = min

if y > max:
    y = max
elif y < min:
    y = min

vjoy.x = x
vjoy.y = y
diagnostics.watch(vJoy[0].x)
diagnostics.watch(vJoy[0].y)

对于自动驾驶汽车,您可以编写另一个python脚本,将输入值(用于x轴和y轴)提供给该脚本

相关问题 更多 >

    热门问题