让 tvOS 游戏手柄按钮在每次物理按下按钮时仅发送一次消息

Posted

技术标签:

【中文标题】让 tvOS 游戏手柄按钮在每次物理按下按钮时仅发送一次消息【英文标题】:Make tvOS gamepad buttons send a message just once per physical press of a button 【发布时间】:2018-06-18 17:56:19 【问题描述】:

我正在制作 Apple TV 游戏并对设置屏幕进行编程。我遇到的问题是,当我按下按钮一次时,Nimbus 游戏手柄会发送多个按下按钮的消息。如果有人能告诉我是否有办法让控制器在按钮被点击一次时只发送一个按钮被点击的消息,我将非常感激。我的意思是我希望有一种方法可以在我按下按钮并释放按钮后只生成一条消息。非常感谢。

【问题讨论】:

【参考方案1】:

查看 GameController 文档:

https://developer.apple.com/documentation/gamecontroller/gccontrollerbuttoninput?changes=_2

你使用的是pressedChangedHandler还是valueChangedHandler? IIRC,Nimbus 具有压敏按钮,因此您应该期望在按下或释放按钮时收到不断变化的值。只应在切换 isPressed 时调用pressedChangedHandler。

【讨论】:

以上是关于让 tvOS 游戏手柄按钮在每次物理按下按钮时仅发送一次消息的主要内容,如果未能解决你的问题,请参考以下文章

如何区分 Siri Remote 按钮按下和游戏手柄按钮按下?

Arduino Leonardo 作为游戏手柄

当我在模拟器中按下 Apple TV 游戏手柄按钮时,它们不会触发

如何在 Windows 中禁用游戏手柄/操纵杆上的按钮/轴?

如何发送 XInput 按钮?

如何在 Mac OSX 上模拟游戏手柄