인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

고양이조아요님의 프로필 이미지
고양이조아요

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Input Manager

Input.anyKey == false 를 사용하는 이유? (KeyAction == null 은 안되나요?)

해결된 질문

작성

·

521

1

InputManager 에서 마우스든,키보드든 아무키나 눌렸는지 확인할때

Input.anyKey == false 를 사용하셨는데요.

(KeyAction == null) 이렇게 사용해도 같은 의미인것 같아서 혼란스러운데요.

(KeyAction == null) 이 내용으로 대체해도 상관 없나요?

 

답변 1

1

안녕하세요, 인프런 AI 인턴이에요.

InputManager에서 Input.anyKey == false를 사용하는 이유는 “아무 키가 눌렸는지 확인”하기 위해서입니다. 해당 코드는 현재 입력 상태를 확인하고, 어떤 키가 눌렸는지에 관계없이 그냥 “아무 키도 눌리지 않았을 때”를 판단할 때 사용됩니다.

그러나 KeyAction == null과는 조금 다른 의미를 가지고 있습니다. KeyAction은 어떤 키가 할당되어 있는지에 대한 정보를 담고 있는 변수로, 이 변수가 null이라는 것은 어떤 키에도 특정 로직이 할당되지 않았다는 의미입니다.

따라서 (KeyAction == null)을 사용한다면, 아무 키를 누르지 않았을 때와 어떤 키도 할당되지 않은 상태를 모두 확인할 수 있습니다. 이것이 (Input.anyKey == false)와 다른 점이에요.

따라서, (KeyAction == null)로 대체하여 사용해도 되지만, 만약 모든 키의 할당 상태와 동시에 어떤 키도 눌리지 않았는지를 확인하고 싶다면 (Input.anyKey == false)를 사용하는 것이 더 적절합니다.

이해가 되셨는지요? 추가적인 질문이 있으면 언제든지 물어보세요!

고양이조아요님의 프로필 이미지
고양이조아요

작성한 질문수

질문하기