ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유니티 화면 비율 고정 처리...20
    일지 2021. 11. 18. 19:57

    최대 크기, 최소 크기 조정

    가로, 세로에서 변경 시에 사이즈가 변경된 뒤 다시 크기를 맞춰주는 처리가 없기 때문에 크기가 무한정 작아질 수 있는데 이 처리는 기존 코드에서도 동일한 것으로 보인다.

     

    최소 사이즈에서 위치 고정

    일단 크기 조정 처리는 보류하고 크기가 어느정도 작아진 경우 크기는 더 작아지지 않는데 위치가 변하는 문제가 있다.

    버그처럼 보이므로 크기가 어느정도 작아진 이후 위치가 고정되도록 처리를 추가한다.

     

    처리를 위해 oldWidth 와 oldHeight를 추가하고 min 값과 max 값을 비교해서 초과되는 만큼 위치에 +, -를 해 줬다.

     

                int oldWidth = rc.Right - rc.Left;
                int oldHeight = rc.Bottom - rc.Top;
    
                rc.Left += Mathf.Min(0, oldWidth - minWidthPixel) + Mathf.Max(0, oldWidth - maxWidthPixel);
                rc.Top += Mathf.Min(0, oldHeight - minHeightPixel) + Mathf.Max(0, oldHeight - maxHeightPixel);

     

    그런데 상단에서 크기를 조절할 때는 문제가 없는데 좌, 우, 하단에서 크기를 조절하면 위치가 멋대로 수정된다.

     

    관련해서 조금 더 고민을 해봐야겠다.

    댓글

Designed by Tistory.