게임 프로그래밍/Unity

터치한 위치에 UI 띄우기

스게 2021. 11. 12. 11:14

게임을 만들다가 클릭한 위치를 좌측 상단으로 가지는 UI를 띄워야 했다.

 

생각 없이 기존 코드를 사용하고 안되면 알게 된것은

 

첫번째로 Screen 좌표가 곧 마우스 클릭 좌표다.

 

기존의 ScreenToWorldPointer를 쓴 코드를 사용할 필요 없이 Input.mousePosition의 위치를 그대로 사용하면 되는거였다.

 

두번째로 알게 된것은

 

UI 좌표와 기본 좌표는 다르다.

 

기본적인 좌표는

왼쪽 아래가 x:0,y:0 이다.

 

 

 

그러나 UI에서는

센터가 x:0, y:0 이다.

 

고로 마우스 위치 x에서 윈도우 넓이의 절반을 더하고 y에서 폭의 절반을 뺀 위치에 생성하면 된다.

 

그림으로 그리면