init() — 初始化 ,将会扫描系统上所有的游戏杆设备。
quit() — 卸载
get_init() — 如果 joystick 模块已经初始化,返回 True
get_name() — 获得 Joystick 系统名称
get_id() — 获得Joystick ID,每个joystick都是一个插入PC的设备
get_count() — 获取游戏杆的数量
pygame.joystick.init()
joysticks = [pygame.joystick.Joystick(x) for x in range(pygame.joystick.get_count())]
axes是表示8个方向的方向杆还是wheel方向盘?带有轴的方向盘、脚踏板等
get_numaxes() — 获得 Joystick 操纵轴的数量
get_axis() — 获得操纵轴的当前坐标,一般有两个操纵轴用来表示坐标(rudders 和 throttles ),JOYAXISMOTION 的值是从 -1. 0到 1.0,0.0 表示轴在中间
numAxes = self._joystick.get_numaxes()
jsInputs = [float(self._joystick.get_axis(i)) for i in range(numAxes)]
从jsInput上下文可以看出,Axes表示带有轴的输入:
jsInputs[self._steer_idx] |
jsInputs[self._throttle_idx] |
jsInputs[self._brake_idx] |
Custom function to map range of inputs [1, -1] to outputs [0, 1] i.e 1 from inputs means nothing is pressed
方向盘 y = tan(1.1 x) |
油门、刹车 y = 1.6 + (2.05 log10(-0.7 * x + 1.4) - 1.2) / 0.92 y = 0 if y <= 0 y = 1 if y > 1 |
get_numbuttons() — 获得 Joystick 上按钮的数量
get_button() — 获得当前按钮状态
jsButtons = [float(self._joystick.get_button(i)) for i in range(self._joystick.get_numbuttons())]
hat(帽键)是指左侧的4向方向按键,还是像帽子一样的8向方向杆?像帽子一样的方向杆
每个帽键有两个轴作为输入,x 对应左右, y 对应上下。
get_numhats() — 获得 Joystick 上帽键的数量
get_hat() — 获得 的位置
(0, 0) 代表中间
(-1, 0) 代表左
(1, 0) 代表右
(0, 1) 代表上
(1, 1) 代表右上