using UnityEngine;

public class PlyaerController : MonoBehaviour
{
    int speed = 10; //스피드 

    private Animator animator; // 애니메이터 참조

    private void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        float h = Input.GetAxisRaw("Horizontal");
        float v = Input.GetAxisRaw("Vertical");

        Vector2 currentPosition = transform.position;

        // x좌표 제한 검사
        if (currentPosition.x >= 2.27f && h > 0)
        {
            h = 0; // 오른쪽 이동 제한
        }
        else if (currentPosition.x <= -2.29f && h < 0)
        {
            h = 0; // 왼쪽 이동 제한
        }

        // y좌표 제한 검사
        if (currentPosition.y >= 4.4f && v > 0)
        {
            v = 0; // 위쪽 이동 제한
        }
        else if (currentPosition.y <= -4.49f && v < 0)
        {
            v = 0; // 아래쪽 이동 제한
        }

        float xMove = h * speed * Time.deltaTime;
        float yMove = v * speed * Time.deltaTime;

        this.transform.Translate(new Vector2(xMove, yMove));

        // 애니메이션 상태 제어
        if (h > 0)
        {
            animator.SetInteger("state", 2); // 오른쪽 애니메이션
        }
        else if (h < 0)
        {
            animator.SetInteger("state", 1); // 왼쪽 애니메이션
        }
        else
        {
            animator.SetInteger("state", 0); // 중앙 애니메이션
        }
    }
}

+ Recent posts