我已成功连接 Steel 系列 Nimbus 双模拟控制器,用于在我的 iOS 和 tvOS 应用程序中进行测试。但我不确定如何正确设置valueChangeHandler
我的GCController
财产部分。
到目前为止,我了解有microGamepad
,gamepad
和extendedGamepad
类控制器以及它们之间的区别。我还了解到,您可以检查连接到您设备的控制器上是否有相应的控制器类可用。
但是现在我在设置时遇到了麻烦,valueChangeHandler
因为如果我像这样设置三个 valueChangeHandler 部分,那么只有valueChangeHandler
在这个序列中加载的最后一个有效:
self.gameController = GCController.controllers()[0]
self.gameController.extendedGamepad?.valueChangedHandler = { (gamepad, element) -> Void in
if element == self.gameController.extendedGamepad?.leftThumbstick {
//Never gets called
}
}
self.gameController.gamepad?.valueChangedHandler = { (gamepad, element) -> Void in
if element == self.gameController.gamepad?.dpad {
//Never gets called
}
}
self.gameController.microGamepad?.valueChangedHandler = { (gamepad, element) -> Void in
if element == self.gameController.microGamepad?.dpad {
//Gets called
}
}
如果我切换它们并self.gameController.extendedGamepad.valueChangeHandler...
最后调用,那么这些方法将起作用,而gamepad
andmicroGamepad
方法将不起作用。
有人知道怎么修这个东西吗?