-
유니티 화면 비율 고정 처리...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);
그런데 상단에서 크기를 조절할 때는 문제가 없는데 좌, 우, 하단에서 크기를 조절하면 위치가 멋대로 수정된다.
관련해서 조금 더 고민을 해봐야겠다.