How Can I get keyboard input in a SpriteKit Game?

后端 未结 4 1373
刺人心
刺人心 2020-12-11 16:59

I\'m a beginner in SpriteKit programming, and have been trying to figure out how to handle input from the keyboard.

What I\'ve found so far is that you should subcla

4条回答
  •  Happy的楠姐
    2020-12-11 17:59

    Swift (2.0) version of HeyFara's answer. I've just popped "breaks" in where you would make your actual function calls.

        public override func keyDown(theEvent: NSEvent) {
        handleKeyEvent(theEvent, keyDown: true)
    }
    
    public override func keyUp(theEvent: NSEvent) {
        handleKeyEvent(theEvent, keyDown: false)
    }
    
    public func handleKeyEvent(event:NSEvent, keyDown:Bool){
        if event.modifierFlags.contains(NSEventModifierFlags.NumericPadKeyMask){
            if let theArrow = event.charactersIgnoringModifiers, keyChar = theArrow.unicodeScalars.first?.value{
                switch Int(keyChar){
                case NSUpArrowFunctionKey:
                    break
                case NSDownArrowFunctionKey:
                    break
                case NSRightArrowFunctionKey:
                    break
                case NSLeftArrowFunctionKey:
                    break
                default:
                    break
                }
            }
        } else {
            if let characters = event.characters{
                for character in characters.characters{
                    switch(character){
                    case "w":
                        break
                    default:
                        print(character)
                    }
                }
            }
        }
    }
    

提交回复
热议问题