Я пытаюсь реализовать круговое меню в спрайтекит. Все работает, но когда я нажимаю пробел, чтобы активировать круговое меню, происходит задержка примерно на 0,3 с, пока метод keyDown запускает следующее событие после первого нажатия. (См. Пример gif). В методе обновления у меня будет обновление перед каждым кадром, но я не знаю, как получить доступ к новому событию, чтобы отслеживать позицию курсора в методе обновления.
Пример кода:
override func keyDown(with event: NSEvent) {
switch event.keyCode {
case 49:
print("test")
default:
print("keyDown: \(event.characters!) keyCode: \(event.keyCode)")
}
}
Если вы запустите это, тест печатается в первый раз мгновенно. После этого требуется, чтобы доли секунды выполнялись другие операторы печати.
Извините, если этот вопрос супер глупый. Я только знакомлюсь со Swift / SpriteKit.
GIF начальной задержки