Swift OSX 按键事件
Swift OSX key event
我一直在 swift 从事 Cocoa OSX 项目,该项目需要使用键盘输入来执行操作。在 keydown 上,我想在 window 上移动一个对象,但是一旦松开键就停止对象。我查看了 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
}
}
下面是一些示例代码:
override func keyDown(theEvent: NSEvent) {
if (theEvent.keyCode == 1){
//do whatever when the s key is pressed
}
}
关键代码:
override func keyDown(with event: NSEvent) {
if (event.keyCode == 1){
//do whatever when the s key is pressed
print("S key pressed")
}
}
更新 SWIFT 3
SWIFT 4:我创建了一个 repo 来解决我游戏中的这个问题。我主要将它与我的 MTKView 一起使用,但也应该与 NSViews 一起使用。
我一直在 swift 从事 Cocoa OSX 项目,该项目需要使用键盘输入来执行操作。在 keydown 上,我想在 window 上移动一个对象,但是一旦松开键就停止对象。我查看了 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
}
}
下面是一些示例代码:
override func keyDown(theEvent: NSEvent) {
if (theEvent.keyCode == 1){
//do whatever when the s key is pressed
}
}
关键代码:
override func keyDown(with event: NSEvent) {
if (event.keyCode == 1){
//do whatever when the s key is pressed
print("S key pressed")
}
}
更新 SWIFT 3
SWIFT 4:我创建了一个 repo 来解决我游戏中的这个问题。我主要将它与我的 MTKView 一起使用,但也应该与 NSViews 一起使用。