2

これは、キーボードベースのゲームコントローラを実装するためのものです。左/右矢印でキャラクターを歩かせます。Shift + Left / Rightは、キャラクターを走らせます。

これまでに使用しているコードは次のとおりです。

- (void)keyDown:(NSEvent *)event{

    if ([event modifierFlags] & NSShiftKeyMask) {
        NSLog(@"Shift key pressed");
    }
    // logic follows
}

矢印キーを押す前にShiftキーを押すと、これは正常に機能します。しかし、矢印キーが押されて加速する必要がある場合、Shiftキーを押しても何も起こりません...

だから、私はこの種の答えを見ます: https ://stackoverflow.com/a/420691/987818

しかし、このNSResponderがどこで使用されているのかわかりません。参考までに、Cocos2D(objcゲームエンジン)を使用しています。

リードをありがとう:-)J。

4

1 に答える 1

3

このメソッドflagsChanged:を実装するのと同じクラス、またはこのイベントをキャッチできる可能性のあるNSResponderサブクラス(NSApplicationなど)に実装する必要があります。-keyDown:

于 2012-01-30T18:29:31.797 に答える