我正在尝试创建一个 swift 文件,该文件将在 swift 中检测来自 MacOS 的 SceneKit 游戏的键盘输入。我正在使用 NSEvent 来处理关键事件,但我不断收到错误消息“使用未声明的类型 NSEvent。有没有更简单的方法来实现这一点?
我试过下面的代码:
override func keyDown(event: NSEvent) {
interpretKeyEvents([event]) // calls insertText(_:), moveUp(_:), etc.
}
override func insertText(insertString: AnyObject) {
let str = insertString as! String
switch str {
case " ":
println("User hit the spacebar.")
default:
println("Unrecognized input: \(str)")
}
}
override func moveUp(sender: AnyObject?) {
println("Up arrow.")
}
override func moveLeft(sender: AnyObject?) {
println("Left arrow.")
}
override func deleteBackward(sender: AnyObject?) {
println("Delete.")
}
最佳答案
这会起作用:
override func keyDown(theEvent: NSEvent) {
let keyCode = theEvent.keyCode if(keyCode == 123)//Left{
}
if(keyCode == 124)//Right
{
}
if(keyCode == 125)//Down
{
}
if(keyCode == 126)//Up
{
}
关于swift - 在 Swift 中为 SceneKit 游戏使用方向键输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881911/