1

InputManager

InputManager

노아의 블로그

    목차
반응형

InputManager을 사용하는 이유!!

 

예들 들어서, 입력을 받는 객체가 있다고 가정해보자. 자 객체가 하나일때는 괜찮다 하지만 여러 객체가 입력을 받는다면? 

 

그 객체의 수만큼 Update에서 계속 입력을 받았는지 안받았는지 if문으로 체크를 하는 상황이 발생한다!! 이는 성능 이슈가 발생할수 있는 충분한 여지이다. 

 

또한? 어디서 입력이 되었고 어떤것을 실행하여야 하는것인지 명확하지 않다. 이를 해결해줄수 있는것이 바로 InputManager이다. 한번 만들어보자.

 

일단 델리게이트(Action)을 이용한 방식으로 실행이 된다. 

 

이제 간단한 캐릭터 인풋을 구현해보자.

Update에서 Input을 계속 체크해주는 모습이다. 만약 이 객체가, 10개 혹은 100개가 있다면 Update에서 100번을 동일하게 체크할것이다.

 

이렇게 예시를 드니 와닿는다. 자 그러면 이제 이것을 InputManager를 이용해 개선해본다면, KeyAction을 이용해야할것!

 

매니져는 결국 하나의 인스턴스만 필요하니 싱글톤 패턴을 이용해 관리한다.

 

 

이제 캐릭터 입력에 InputManager을 적용한다.

이렇게 델리게이트를 사용해서 하나의 인스턴스가 입력만 체크하고 나머지는 입력시 동작을 붙여주면 되는것!

 

그러면 이제 실행시에 디버깅을 해보면

 

 

W 키를 눌렀을 때 

 

이렇게 추적을 할 수 있기에 도움이 된다!!

반응형

'GAME > Unity' 카테고리의 다른 글

전투 게임 3일차  (0) 2024.01.16
전투 게임 2일차  (0) 2024.01.14
전투 게임 1일차  (0) 2024.01.09