我一直在使用swift中的Cocoa OSX项目,需要使用键盘输入来执行操作。在keydown上我想在窗口上移动一个对象,但是一旦关键松开就停止对象。我查看了AppKit的文档并找到了KeyDown函数,但我似乎无法弄清楚如何使用它。我想在我的游戏更新计时器中创建一个函数来调用它。谢谢
import Cocoa
import Appkit
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
func keyDown(theEvent: NSEvent) {
if (theEvent.keyCode == 1){
println("test")
}
}
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
答案 0 :(得分:17)
以下是一些示例代码:
override func keyDown(theEvent: NSEvent) {
if (theEvent.keyCode == 1){
//do whatever when the s key is pressed
}
}
关键代码:
答案 1 :(得分:4)
override func keyDown(with event: NSEvent) {
if (event.keyCode == 1){
//do whatever when the s key is pressed
print("S key pressed")
}
}
更新了SWIFT 3
答案 2 :(得分:0)
SWIFT 4:我创建了一个仓库来解决我的游戏中的这个问题。我主要将其与MTKView一起使用,但也应与NSViews一起使用。