반응형
bool을 많이 만들어서
if ( _Moving == false)
return
if ( _Skill == false)
return
if ( _Idle == false)
return
이런식으로 코드를 쌓아두는것보다
enum으로 상태를 정의해두고
Switch문으로 정리하는게 더 보기도 좋고 유지보수하기도 좋음
public enum CreatureState
{
Idle,
Moving,
Skill,
Dead,
}
CreatureState _state = CreatureState.Idle;
public CreatureState State
{
get { return _state; }
set
{
if (_state == value)
return;
_state = value;
UpdateAnimation();
}
}
protected virtual void UpdateAnimation()
{
if (_state == CreatureState.Idle)
{
switch (_lastDir)
{
case MoveDir.Up:
_animator.Play("IDLE_BACK");
_sprite.flipX = false;
break;
case MoveDir.Down:
_animator.Play("IDLE_FRONT");
_sprite.flipX = false;
break;
case MoveDir.Left:
_animator.Play("IDLE_RIGHT");
_sprite.flipX = true;
break;
case MoveDir.Right:
_animator.Play("IDLE_RIGHT");
_sprite.flipX = false;
break;
}
}
반응형
LIST
'Unity' 카테고리의 다른 글
Unity Google Admob (0) | 2024.04.22 |
---|---|
Unity JAVA_TOOL_OPTIONS Error (Gradle Bild failed) (0) | 2024.04.22 |
Character Controller move가 안될때 (0) | 2022.08.03 |
Unity Input System (0) | 2022.08.03 |
Create Unity Menu (0) | 2022.06.28 |