#02 문라이터 모작 - 플레이어 이동 애니메이션_Idle
📜Idle상태
일단 4방향 Idle상태의 애니메이션부터 구현하기로 했다.
플레이어가 바라보는 방향을 어떻게 설정?
가장 먼저 떠오른 생각은 PlayerState라는 스크립트를 작성하고 입력에 따른 방향을 설정할 수 있게 해주는 것이다. 그리고 PlayerAnimController라는 스크립트를 작성하고 플레이어가 바라보는 방향의 애니메이션을 출력하는것이다. 당연히 PlayerAnimController라는 스크립트에서는 PlayerState의 참조를 갖고있어야 할 것이다.
방향값 설정
PlayerState에 enum값으로 4방향에대한 값을 설정하고 입력값에 따라 enum값을 바꿔주기로 했다. 그리고 Animator에 int형 파라미터를 줘서 설정한 int값에따라 방향을 바꿔 애니메이션을 출력하기로 했다.
4방향 우선순위?
원작에서 좌우로 움직이면서 위아래 방향키를 누르면 위아래 애니메이션이 출력된다. 그리고 위아래로 움직이면서 좌우 방향키를 눌러도 애니메이션엔 변함이 없다. 따라서 입력에 따른 방향 설정을 위해 좌우 입력을 받은 후, 위아래 입력에 따른 방향 값을 설정해주기로 했다.
void SetDirection()
{
if (_input.Horizontal == 1)
{
_dir = PlayerDirection.Right;
}
if (_input.Horizontal == -1)
{
_dir = PlayerDirection.Left;
}
if (_input.Vertical == -1)
{
_dir = PlayerDirection.Down;
}
if (_input.Vertical == 1)
{
_dir = PlayerDirection.Up;
}
}
📜동작확인
4방향에 대한 단일 입력과 대각선 방향에 대한 애니메이션이 정상적으로 출력되는 것을 확인할 수 있었다.
댓글남기기