我正在尝试回应SKScene子类中的新闻.我可以在我的ViewController中覆盖响应者pressEnded就好了,但是当我将pressEnded覆盖移动到我的SKScene子类中时,我不再接收任何调用.
下面是我的pressEnabled覆盖,它在ViewController中按预期工作
override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
print("press")
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在SKScene内接受按钮按下?
您需要将您的新闻事件从ViewController转发到SKScene,就像这样......
override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
gameScene.pressesBegan(presses, withEvent: event)
}
override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
gameScene.pressesEnded(presses, withEvent: event)
}
Run Code Online (Sandbox Code Playgroud)
然后在gameScene(SKScene)做类似的事情:
override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
for press in presses {
switch press.type {
case .UpArrow:
print("Up Arrow")
case .DownArrow:
print("Down arrow")
case .LeftArrow:
print("Left arrow")
case .RightArrow:
print("Right arrow")
case .Select:
print("Select")
case .Menu:
print("Menu")
case .PlayPause:
print("Play/Pause")
}
}
}
override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
print("Presses Ended.")
}
Run Code Online (Sandbox Code Playgroud)
当用户轻敲触摸板的边缘时,会发送"箭头"按钮,但在模拟器中无法识别.轻触触控板中心时会发送"选择".
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
2428 次 |
| 最近记录: |