• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

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

23.07.30 10:16 작성 조회수 358

1

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

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

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

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

 

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.01

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

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

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

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

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

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