public Camera _mainCamera;
public Tilemap _tileMap;
private Vector3 _clickPos = Vector3.zero;
private Vector3Int _tilemapCell = Vector3Int.zero;
IEnumerator OnMouseUp()
{
if (EventSystem.current.IsPointerOverGameObject() == true)
{
yield break;
}
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit2D hit = Physics2D.GetRayIntersection(ray, Mathf.Infinity);
Vector3 scrSpace = Camera.main.WorldToScreenPoint(transform.position);
Vector3 tilePos = _mainCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, scrSpace.z)) - transform.position;
_tilemapCell = _tileMap.LocalToCell(tilePos);
_clickPos = _tileMap.GetCellCenterLocal(_tilemapCell);
yield return null;
}
타일맵을 클릭했을때 좌표에 셀 정보를 얻어 온다
'Unity > 코드 예제들' 카테고리의 다른 글
com.unity.localization (0) | 2021.03.15 |
---|---|
폴더안 파일복사 (0) | 2021.02.18 |
배열을 Dictionary로 사용. 직열화, 인터팩터 창에 출력가능. (0) | 2020.11.19 |
모바일 네트워크 상태 확인 (0) | 2020.10.30 |
NGUI 게임도중에 orientation을 이용해 가로세로전환 (0) | 2020.06.16 |