using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.InputSystem;


public class PlayerController : MonoBehaviour

{

    [SerializeField] private float moveSpeed = 1f;


    private PlayerControls playerControls;

    private Vector2 movement;

    private Rigidbody2D rb;

    private Animator myAnimator;

    private SpriteRenderer mySpriteRenderer;



    private void Awake()

    {

        playerControls = new PlayerControls();

        rb = GetComponent<Rigidbody2D>();

        myAnimator = GetComponent<Animator>();

        mySpriteRenderer = GetComponent<SpriteRenderer>();


    }


    private void OnEnable()

    {

        playerControls.Enable();

    }


    private void OnDisable()

    {

        playerControls.Disable();

    }


    private void Update()

    {

        playerInput();

    }


    private void FixedUpdate()

    {

        Move();

        PlayerFlip();

    }


    private void playerInput()

    {

        movement = playerControls.Player.Move.ReadValue<Vector2>();


        myAnimator.SetFloat("moveX", movement.x);

        myAnimator.SetFloat("moveY", movement.y);

    }


    private void Move()

    {

        rb.MovePosition(rb.position + movement * (moveSpeed * Time.fixedDeltaTime));

    }


    private void PlayerFlip()

    {

        if (movement.x > 0)

        {

            mySpriteRenderer.flipX = true;


        }

        else if (movement.x < 0)

        {

            mySpriteRenderer.flipX = false;

        }

    }


}

요코드에서 밑에 부분 스프라이트 flipx하면 자식 오브젝트에는 flip적용이 안된데서 

    private void PlayerFlip()

    {

        if (movement.x > 0)

        {

            transform.Rotate(0f, 180f, 0f);


        }


    }
요걸로 바꿨는데 코드의 다른부분이랑 충돌하는지 x<0일때는 아무 문제 없는데 조건이 충족되는 x>0에서는 flip되고 안되고가 무한 반복됨 뭔 문제일까(위에 sprite flip 했을때는 잘작동했었음)