
300
|
第
10
章
这种方式无论对于按键输入还是方向输入都适用,因此我们也可以对十字按键和摇
杆这样做。注意,当一个按钮按下时,
valueChangedHandler
会被多次调用,因为
在按键被按下的过程中
value
值会连续发生变化。除了可以给按键输入和方向输入
设置
valueChangedHandler
,我们还可以给暂停键指定一个闭包:
controller.controllerPausedHandler =
{ (controller: GCController!) in
NSLog("Pause button pressed")
}
控制器自身不会保存游戏是否被暂停的信息,只能由游戏去保存自己的暂停
状态。控制器唯一能做的事情就是告诉你这个按钮什么时候按下的。
10.3
通过
AirPlay
显示游戏内容
问题
我们想利用
Apple TV
的
AirPlay
无线投影功能将游戏内容显示到大屏上。
解决方案
通过
MPVolumeView
可以显示一个选择器,用户通过这个选择器来选择某个
AirPlay
设备。
不过我们只能以代码的方式来添加
MPVolumeView
,在
IB
中你无法找到并添加
MPVolumeView
。在代码中使用如下语句:
let volumeView = MPVolumeView()
volumeView.showsRouteButton = true
volumeView.showsVolumeSlider = false
volumeView.sizeToFit()
self.volumeControlContainerView.addSubview(volumeView) ...