방명록
- 유니티 게임개발 - 상태 머신2023년 09월 25일 23시 49분 53초에 업로드 된 글입니다.작성자: noun06
상태 머신 패턴은 게임 오브젝트의 상태를 정의하고 관리하기 위해 사용된다. 상태머신은 오브젝트의 행동을 다양한 상태로 분할하고 각 상태에서 어떤 동작이 수행될지를 결정한다.
예를 들어 플레이어 캐릭터는 이동 상태, 공격 상태, 점프 상태 등 다양한 상태로 구성될 수 있고 각각 해당 상태에 맞는 로직이 돌아간다.
using UnityEngine; public class PlayerStateMachine : MonoBehaviour { private enum PlayerState { Moving, Stopped } private PlayerState currentState; void Start() { //초기 상태 SetState(PlayerState.Stopped); } void Update() { // 상태에 따른 동작 수행 switch (currentState) { case PlayerState.Moving: Move(); break; case PlayerState.Stopped: // 정지 상태 동작 수행 break; } if (Input.GetKeyDown(KeyCode.W)) { SetState(PlayerState.Moving); } if (Input.GetKeyDown(KeyCode.S)) { SetState(PlayerState.Stopped); } } private void Move() { // 이동 로직 Debug.Log("이동 중..."); } // 상태를 변경하는 함수 private void SetState(PlayerState newState) { currentState = newState; } }
각 상태는 독립적으로 동작하기 때문에 코드의 유연성 측면에서 이점이 있다.
다음글이 없습니다.이전글이 없습니다.댓글