
298
|
第
10
章
llerDiscovery(completionHandler:)
方法。这个方法让系统查找设备附近的游戏
控制器,每当找到一个控制器就发送一个
GCControllerDidConnectNotification
通
知。当查找过程结束,无论是否找到有效的控制器,这个方法都会调用闭包代码:
//
调用后,你会收到来自无线手柄的
// GCControllerDidConnectNotification
和
// GCControllerDidDisconnectNotification
通知
GCController.startWirelessControllerDiscovery { () -> Void in
NSLog("Finished searching for wireless controllers")
}
需要注意的是,当我们查找无线手柄时,系统不会显示任何内置
UI
。最终需要我
们显示自己的
UI
,来告诉玩家我们正在查找游戏控制器。
当无线控制器建立好连接,我们就可以把它当成一个有线的控制器来使用,对你来
说,二者没有任何不同。
当我们拥有了一个
GCController
对象时,我们可以设置它的
playerIndex
属性。
设置这个属性时,控制器上的灯会亮起,提示玩家它是第几个玩家。这个属性在所
有游戏中都会被控制器记住,因此玩家可以从一个游戏切换到另一个游戏而无需关
心他是第几个玩家:
controller.playerIndex = GCControllerPlayerIndex.index1 ...