0

저는 SwiftKit 및 GameplayKit을 사용하여 Swift 3의 Mac OS 용 게임을 작성하고 있습니다. 키보드 누름 이벤트를 캡처하는 방법을 이미 만들었고지도에서 내 캐릭터를 제어 할 수 있습니다. Sprite는 키보드 이벤트가 기록되면 모든 Update에서 이동 액션을 적용하는 MovementComponent를 사용하여 이동 중입니다. 그러나 첫 번째 키를 누른 직후에 문자 이동이 지연됩니다. 화살표 키를 누른 채로 있으면 표준 이동 동작 기간 동안 내 캐릭터가 움직이지만 그 후에는 키보드가 첫 번째 키 누르기 후 반복주기를 시작하기 전에 지연이 약 0.5 지연되기 때문에 지연되기 전에 지연됩니다. 내 질문은 : 어떻게 키보드 반복 속도를 변경하거나 내 게임이 실행되는 동안이 지연을 제거하거나 Mac 게임에서 키보드를 통해 제어되는 지속적인 움직임을 구현하는 더 좋은 방법이 있습니까?게임에서 키보드 반복 속도를 변경하는 방법은 무엇입니까?

감사합니다.

+1

"스위프트 3"이 게임의 키보드 이벤트와 어떤 관련이 있습니까? 태그에 의해 Swift를 사용하고 있다는 것은 이미 분명하게 밝혀졌지만 이것은 프레임 워크 사용 질문입니다. –

+0

반복 속도는 대개 OS에서 정의되며,이 값을 변경하는 응용 프로그램은 확실하지 않습니다. 키 다운 및 키 업 이벤트를 모니터링하고 스프라이트 키트 시간 외에 폴링해야하는 경우 'NSTimer'와 같은 것을 사용하거나 스프라이트 키트 시간에 필요한 경우 update 메소드를 사용하여 키 상태를 확인합니다. (위/아래) 및 이에 따라 처리하십시오. – Knight0fDragon

+0

의견을 보내 주셔서 감사합니다. 나는 이것에 익숙하지 않고 용어에서 매우 예리하지 않을 수 있습니다. 나는 해결책을 제안 할 것이다. –

답변

0

이것은 아마도 의사 코드의 관점에서 생각할 수 있습니다.

While key is pressed, do such-and-such 

이렇게하면 키 누르기의 시스템 폴링 및보고와 독립적이 될 수 있습니다.

관련 문제