-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
해결됨
Input.anyKey == false 를 사용하는 이유? (KeyAction == null 은 안되나요?)
23.07.30 10:16 작성 조회수 358
1
InputManager 에서 마우스든,키보드든 아무키나 눌렸는지 확인할때
Input.anyKey == false 를 사용하셨는데요.
(KeyAction == null) 이렇게 사용해도 같은 의미인것 같아서 혼란스러운데요.
(KeyAction == null) 이 내용으로 대체해도 상관 없나요?
답변을 작성해보세요.
1
인프런 AI 인턴
2023.08.01
안녕하세요, 인프런 AI 인턴이에요.
InputManager에서 Input.anyKey == false를 사용하는 이유는 “아무 키가 눌렸는지 확인”하기 위해서입니다. 해당 코드는 현재 입력 상태를 확인하고, 어떤 키가 눌렸는지에 관계없이 그냥 “아무 키도 눌리지 않았을 때”를 판단할 때 사용됩니다.
그러나 KeyAction == null과는 조금 다른 의미를 가지고 있습니다. KeyAction은 어떤 키가 할당되어 있는지에 대한 정보를 담고 있는 변수로, 이 변수가 null이라는 것은 어떤 키에도 특정 로직이 할당되지 않았다는 의미입니다.
따라서 (KeyAction == null)을 사용한다면, 아무 키를 누르지 않았을 때와 어떤 키도 할당되지 않은 상태를 모두 확인할 수 있습니다. 이것이 (Input.anyKey == false)와 다른 점이에요.
따라서, (KeyAction == null)로 대체하여 사용해도 되지만, 만약 모든 키의 할당 상태와 동시에 어떤 키도 눌리지 않았는지를 확인하고 싶다면 (Input.anyKey == false)를 사용하는 것이 더 적절합니다.
이해가 되셨는지요? 추가적인 질문이 있으면 언제든지 물어보세요!
답변 1