방향 정보를 처리하기 위해 enum 타입으로 방향(상하좌우)을 정의했습니다.
Direction 변수를 추가하여 현재의 방향 정보를 저장합니다.
특정 키 입력 시(위, 아래, 왼쪽, 오른쪽), 해당 키에 맞는 방향 값을 Direction 변수에 저장합니다.
분석
enum을 사용하는 이유는 명확한 방향 정보 처리를 위함입니다. enum은 상하좌우처럼 고정된 값들을 명확히 구분하여 실수 없는 데이터 처리를 보장합니다.
방향 값 저장은 후속 작업(플립북 업데이트 등)에 필요한 기본 데이터를 제공합니다.
KeyboardPressed라는 불리언 변수를 추가하여 키 입력 여부를 저장합니다.
Event Tick 노드를 사용하여 매 프레임마다 키가 눌려 있는지 확인하고 True 또는 False 값을 KeyboardPressed에 할당합니다.
분석
키가 눌려있는지 확인하는 작업은 애니메이션 전환의 조건이 됩니다.
Event Tick은 프레임 단위로 호출되어 실시간으로 입력 상태를 확인합니다.
Update Animation 함수는 입력된 데이터를 기반으로 애니메이션 상태를 변경하는 역할을 합니다.
KeyboardPressed 값에 따라 다음과 같이 동작합니다:
True일 경우: 방향값에 따라 _move 애니메이션 설정.False일 경우: _idle 애니메이션 설정.추가로, Switch on Direction 노드를 사용해 방향에 따른 세부 동작을 분리했습니다.
방향값이 Up, Down, Left, Right일 때 각각에 맞는 플립북을 설정합니다.
분석
Update Animation 함수는 애니메이션 전환 로직을 캡슐화하여 코드의 재사용성을 높이고 구조를 간단히 만듭니다.
Switch on Direction은 방향별로 플립북 설정을 깔끔하게 분리하여 가독성을 향상시킵니다.
키를 눌렀다 떼었을 때, 애니메이션이 멈추지 않는 버그를 해결하기 위해 Update Animation 함수 호출을 추가했습니다.
KeyboardPressed가 False일 때도 Update Animation을 호출하여 _idle 상태로 전환합니다.
분석
키 입력 해제 시에도 애니메이션 상태를 확실히 초기화하여 방향을 유지하면서도 _idle 상태로 전환합니다.
이는 사용자 입력과 애니메이션 상태 간의 동기화를 보장합니다.
Update Animation 함수의 역할을 명확히 분리하여 코드 가독성과 유지보수성을 높였습니다.Event Tick의 잦은 호출로 인한 성능 문제를 방지하려면 이후 최적화를 고려해야 합니다.
