要点:
我想说出两个或更多“XBox 360控制器”之间的区别。
上下文
我正在使用Javascript (Gamepad API)为Typescript构建GamepadManager。 GamepadManager的主要功能是支持在使用特定游戏手柄按钮或轴时调用的回调。 (GamepadManager还使用控制器配置文件列表,专门为特定品牌和模型制作按钮和轴)
的问题:
重新连接物理游戏手柄时,可以将SAME Javascript游戏手柄对象重新链接/再次分配给最初断开连接的物理游戏手柄吗?
可能会自动发生吗?更好的是,可以以某种方式重新手动完成手动吗?
window.addEventListener("gamepaddisconnected", function(e) {
var gp = e.gamepad;
var isConnected = gp.connected;
});
的塞纳里奥:
当物理游戏手柄断开连接时,上面的EventListener将返回一个事件,其中包含最初用于现在断开连接的物理游戏手柄的游戏手柄对象。事件的游戏手柄对象有一个布尔值来指定物理游戏手柄是否仍然连接......但当然它已断开连接,因为它已从断开连接事件监听器返回。对我来说,这意味着游戏手柄对象可以持续使用,而物理游戏手柄仍然是断开的,可能在重新连接时重复使用。
我在寻找什么:
我希望我的GamepadManager足够智能,可以在重新连接的物理游戏手柄断开之前将其连接到相同的游戏内可播放角色。
(这样,如果玩家正在使用特定的控制器,并且它已断开连接并重新连接,则会记住该控制器并仍将控制相同的角色)
此外,我想要它所以即使所有4个物理游戏手柄都是XBox 360控制器的同一品牌/型号,GamepadManager也能分辨出它们的区别,无论它们连接到哪个USB端口。
每个物理游戏手柄必须有一个特定的ID /序列号,以区别于同一品牌和型号的其他游戏手柄吗?或USB端口是区分2个或更多匹配物理游戏手柄的唯一方法吗?
可替换地:
有没有更好的方法来查看如何管理游戏的物理游戏手柄? (侧滚动作沙盒)