在Cocoa中同时捕获多个击键

时间:2010-04-27 19:43:34

标签: objective-c cocoa macos

我已经使用了4 NSButton并将它们分别分配给4个箭头键,以便在四个不同的方向上移动。现在我想同时使用两个击键,左箭头和向上箭头,进行东北运动,我该怎么办呢?

我一次只能使用一次击键,我需要同时捕捉两个击键,我需要它用于我的游戏项目。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

您可能希望使用不同的方法,例如直接截取密钥的NSView;而不是使用单独的NSButton。只是一个想法。 (事件是keyDown,顺便说一句。)

修改:您可能还希望在行走前学习抓取;在您深入研究游戏编程之前,您应该熟悉响应者链,NSEvent和朋友以及NSResponder,特别是NSView

更具体地说,你需要子类NSView(你用来显示你的游戏画面的子类应该做得很好)并覆盖

- (void)keyDown:(NSEvent *)theEvent
- (void)keyUp:(NSEvent *)theEvent

这些可让您以更复杂的方式跟踪按键。

您可以在Xcode帮助菜单中找到所需的所有文档。