0

Mac アプリのキーボード イベントは、次のようにトリガーできることを知っています。

- (void) keyDown(NSEvent*)event {
    switch ([event keyCode]) {
        case someKeyCode:
            NSLog(@"blah blah blah");

        default:
            break;
    }
}

しかし、 Konami Codeなど、押されたキーの組み合わせにアプリを反応させるにはどうすればよいでしょうか?

ありがとう!

4

1 に答える 1

2

過去に押されたキーを追跡する履歴リストを作成する必要があります。キーのリストに、コナミ コードであるかどうかにかかわらず、「コード」に一致するものが含まれている場合。あなたの試合は別のイベントをトリガーし、キーの履歴をクリアします。

コントロールキーの文字列を介して配列にデータを追加します

static NSMutableArray *array = [NSMutableArray array];
[array addObject:@"[UP]"]; // etc for each key you would have a special key

次に、このようにテストできます

if ([[array componentsJoinedByString:@""] isEqualToString:@"[UP][UP][DOWN][DOWN]"]){
    array = [NSMutableArray array];
    [self commandfound]
}

それが役立つことを願っています

于 2012-08-29T20:47:02.510 に答える