게임 프로그래밍/Unity
터치한 위치에 UI 띄우기
스게
2021. 11. 12. 11:14
게임을 만들다가 클릭한 위치를 좌측 상단으로 가지는 UI를 띄워야 했다.
생각 없이 기존 코드를 사용하고 안되면 알게 된것은
첫번째로 Screen 좌표가 곧 마우스 클릭 좌표다.
기존의 ScreenToWorldPointer를 쓴 코드를 사용할 필요 없이 Input.mousePosition의 위치를 그대로 사용하면 되는거였다.
두번째로 알게 된것은
UI 좌표와 기본 좌표는 다르다.
기본적인 좌표는

왼쪽 아래가 x:0,y:0 이다.
그러나 UI에서는

센터가 x:0, y:0 이다.
고로 마우스 위치 x에서 윈도우 넓이의 절반을 더하고 y에서 폭의 절반을 뺀 위치에 생성하면 된다.
그림으로 그리면
