유니티/플랫포머 기초

[Unity] 플랫포머 기초 - 4. 플레이어 방향 전환

이름?없음 2024. 11. 28. 00:39
반응형

 

반응형

2024.11.26 - [유니티/플랫포머 기초] - [Unity] 플랫포머 기초 - 3. 플레이어 애니메이션

 

[Unity] 플랫포머 기초 - 3. 플레이어 애니메이션

2024.11.26 - [유니티/플랫포머 기초] - [Unity] 플랫포머 기초 - 2. 지면 감지 [Unity] 플랫포머 기초 - 2. 지면 감지2024.11.26 - [유니티/플랫포머 기초] - [Unity] 플랫포머 기초 - 1. 플레이어 이동 [Unity] 플랫

no-name-stroy.tistory.com

 

이전 글에서는 플레이어 애니메이션을 설정해 보았었습니다

 

하지만 플레이어가 보는 방향으로 방향전환이 되지 않는 문제가 있었는데요

이번 글에서는 이것을 해결해 보도록 하겠습니다

 

프로젝트에 PlayerFlip이라는 스크립트를 하나 만들어주세요

using UnityEngine;

/// <summary>
/// 플레이어 플립을 관리하는 클래스
/// </summary>
public class PlayerFlip : MonoBehaviour
{

    /// <summary>
    /// 플립 관리를 위한 스프라이트 랜더러
    /// </summary>
    private SpriteRenderer _renderer;

    /// <summary>
    /// 입력정보를 받기 위한 컨트롤러
    /// </summary>
    private InputController _input;

    private void Awake()
    {
        //GetComponent로 찾아오기
        _renderer = GetComponent<SpriteRenderer>();
        _input = GetComponent<InputController>();

        _input.OnMoveEvent += HandleMove;
    }

    /// <summary>
    /// Move이벤트를 처리하는 함수
    /// </summary>
    /// <param name="obj">입력정보</param>
    private void HandleMove(float obj)
    {
        //switch식으로 플립 전환
        _renderer.flipX = obj switch
        {
            var x when x > 0 => true,
            var x when x < 0 => false,
            _ => _renderer.flipX,
        };
    }
}

이 스크립트의 경우 입력정보를 받아 switch 식으로 플립이 전환될 수 있게 다자인하였습니다

 

실행시켜 본다면 플레이어가 이동방향을 잘 바라보는 것을 확인할 수 있습니다

 

다음 글에서는 타일맵으로 맵을 꾸며보도록 하겠습니다

반응형