我一时兴起购买了Sony DualShock 4无线游戏手柄。将控制器与我的mac配对很容易。控制器在OpenEmu中按预期工作。
现在我想在自己的游戏中使用控制器。在XCode游乐场,我尝试了这个:
import Cocoa;
import GameController;
print(GCController.controllers())
print(GCController.controllers().count)
输出是: [] 0
这意味着DualShock控制器未注册为GCController。
应该吗?
在调用控制器之前是否需要进行某种初始化?
一个例子是Objective-C或欢迎Swift。
答案 0 :(得分:2)
这里有一个教程:http://www.raywenderlich.com/forums/viewtopic.php?f=21&t=10339但似乎表明GameController框架不支持DualShock 4。
请参阅Apple文档,我将从这里开始:https://developer.apple.com/library/mac/documentation/ServicesDiscovery/Conceptual/GameControllerPG/DiscoveringControllers/DiscoveringControllers.html,它解释了如何发现和连接到控制器。
答案 1 :(得分:1)
看起来好像DualShock 4 support was added to the Game Controller framework in 2019。这在 macOS 11.1 上对我有用。
但是,控制器似乎没有出现在对 GCController.controllers()
的初始调用中。您需要注册 GCControllerDidConnect 通知,然后控制器才会显示(对于 USB 和蓝牙连接)。