public void ButtonClick(string type)

    {       

        if (!flag)

        {

            flag = true;

            startTime = Time.time;            

            if (type == "L")

            {

                StartCoroutine(Move("L"));

                animator.SetFloat("dirX", -1);

                animator.SetFloat("dirY", 0);

            }

            else if (type == "R" && rightflag == 1)

            {                

                StartCoroutine(Move("R"));

                animator.SetFloat("dirY", 0);

                animator.SetFloat("dirX", 1);

            }

            else if (type == "U")

            {

                StartCoroutine(Move("U"));

                animator.SetFloat("dirX", 0);

                animator.SetFloat("dirY", 1);

            }

            else if (type == "D")

            {

                StartCoroutine(Move("D"));

                animator.SetFloat("dirX", 0);

                animator.SetFloat("dirY", -1);

            }                    

        }        

    }


    

    private void OnTriggerEnter2D(Collider2D other)

    {

        rightflag = 0;

    }   



첫번째 함수는 클릭시 상하좌우로 이동하는 함수입니다. 이때 어떤 물체와 충돌시 rightflag 를 0으로 바꾸어 오른쪽으로 이동하는 동작이 안되게 하려고 하는데

로그를 찍어보면 충돌이 발생하고 Ontrigger 함수안에서는 rightflag 값이 바뀌는데 실제로 클릭을하면 rightflag 값이 1이어서 오른쪽으로 이동이 됩니다.

뭐때문에 이런거죠?