多手柄输入(20150515、20150610、20150827)

这篇博客介绍了如何使用DirectInputJS进行多手柄输入的检测和控制,包括操纵杆的位置获取、按钮识别以及相关API的使用。详细讨论了Unity中多个Joystick的配置和识别问题,提供了Unity输入管理器的设置参数示例,并探讨了不同手柄在不同模式下的按键映射。此外,还提到了Windows系统中HID设备的探测和数据捕获工具Bus Hound的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Joystick测试程序,可检测Joystick的各种输入JoyStickTest
包含多按钮识别 控制杆方位提取DirectInputJS
joyGetPosEx返回操纵杆位置扩展信息
joyGetPos返回操纵杆位置及按钮活动
joyGetNumDevs返回操纵杆数目
joyGetDevCaps确定操纵杆是否可用
joyGetThreshold返回操纵杆运动临界值
joySetThreshold设置操纵杆运动临界值
DirectX中的dinput.h关于游戏杆操作的LPDIRECTINPUT8,JoystickIn

1.13.4输入系统
1、键盘
DirectInput
直接访问式
缓冲式
1.13.5鼠标与操纵杆
缓冲式输入用来处理按钮和点击,而直接访问数据则来处理轴。


Unity中多个Joystick的识别问题?
依次打开菜单栏中的Edit|Project Settings|Input项,打开输入管理器。
Unity默认为用户创建了若干映射了摇杆按钮的虚拟按键,包括Fire1、Fire2、Fire3、Jump以及虚拟轴Horizontal和Vertical,可以在脚本里直接使用它们。
Unity4.6.4中默认创建了18个输入轴(其它版本有15个、25个)。
通过更改Size参数来设置轴的数量。单击轴名称会显示设置参数。
Horizontal轴有两个
Vertical轴有两个
第一个Horizontal轴的参数设置如下:
负按钮:left
正按钮:right
备选负按钮:a
备选正按钮:d
重力:3
死亡:0.001
灵敏度:3
捕捉:启用
反向:不启用
类型:键或鼠标按钮
轴:x轴
操作杆:joystick 1
第一个Vertical轴的参数设置如下:
负按钮:down
正按钮:up
备选负按钮:s
备选正按钮:w
重力:3
死亡:0.001
灵敏度:3
捕捉:启用
反向:不启用
类型:键或鼠标按钮
轴:x轴
操作杆:joystick 1
第二个Horizontal轴的参数设置如下:
重力:0
死亡:0.19
灵敏度:1
捕捉:不启用
反向:不启用
类型:joystick轴
轴:x轴
操作杆:joystick 1
第二个Vertical轴的参数设置如下:
重力:0
死亡:0.19
灵敏度:1
捕捉:不启用
反向:启用
类型:joystick轴
轴:y轴
操作杆:joystick 1
新增2个轴:
Horizontal2轴的参数设置如下:
重力:0
死亡:0.19
灵敏度:1
捕捉:不启用
反向:不启用
类型:joystick轴
轴:x轴
操作杆:joystick 2
Vertical2轴的参数设置如下:
重力:0
死亡:0.19
灵敏度:1
捕捉:不启用
反向:启用
类型:joystick轴
轴:y轴
操作杆:joystick 2
手柄模式(左上LED灯亮)下A,B,X,Y在PC上的KeyCode值分别为0,1,3,4,例如:
public const KeyCode Joystick1Button0 = 350;
public const KeyCode Joystick1Button1 = 351;
public const KeyCode Joystick1Button3 = 353;
public const KeyCode Joystick1Button4 = 354;
public const KeyCode Joystick2Button0 = 370;
public const KeyCode Joystick2Button1 = 371;
public const KeyCode Joystick2Button3 = 373;
public const KeyCode Joystick2Button4 = 374;
public const KeyCode Joystick3Button0 = 390;
public const KeyCode Joystick3Button1 = 391;
public const KeyCode Joystick3Button3 = 393;
public const KeyCode Joystick3Button4 = 394;


键盘模式(右下LED灯亮)按键对应
L1
KeyCode=12,按键’5’,KEYCODE_5
L2
KeyCode=14,按键’7’,KEYCODE_7
R1
KeyCode=13,按键’6’,KEYCODE_6
R2
KeyCode=15,按键’8’,KEYCODE_8
W,KeyCode=51
KEYCODE
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值