-
[Unity][2D] Grid의 Cell 좌표 구하기 (수정 예정)프로그래밍/Unity 2021. 10. 27. 21:23728x90
시티즈같이 도시 빌딩 시스템을 만들고 싶었던 나..
너무 어렵다!
하지만 쪼금씩 해보려고 한다..
우선 Grid의 Cell 좌표를 구하는 방법에 대해서 정리해보고자 한다.
Summary
// ===================================================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;
public class grid_tistory : MonoBehaviour
{
Vector2 MousePosition;
Camera Camera;
public Tilemap Tilemap;
// Start is called before the first frame update
void Start()
{
Camera = GameObject.Find("Main Camera").GetComponent<Camera>();// Main Camera라는 이름의 object를 찾아 카메라 Component를 가져온다
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
MousePosition = Input.mousePosition;
MousePosition = Camera.ScreenToWorldPoint(MousePosition);// 첫번째 사이트 출처
// Mouse Position을 가져와서 Camera 상의 좌표로 바꾸어 준다.
Debug.Log(Tilemap.WorldToCell(MousePosition));// Camera상의 좌표로 바꾸어준 Mouse Position을 Tilemap의 Cell로 표현해준다.
}
}
}// ===================================================
Cell 마다 잘 인식하는지 확인하기 위해 그림을 넣어주고 Script를 Tilemap에 넣어주고 Tilemap을 지정해준다.
Cell 마다 잘 눌러진다!
하지만 카메라를 Zoom을 해서 눌러도 잘 될 것인가?
UI를 제외하고 카메라를 Zoom in/out하는 방법을 찾아봐야겠다.
유니티를 배우는 건 참 어렵다..ㅜㅜ
=========================================================
참고한 사이트들
https://chameleonstudio.tistory.com/66
https://www.youtube.com/watch?v=gFpmJtO0NT4&t=327s
728x90'프로그래밍 > Unity' 카테고리의 다른 글
[Unity][2D] EventSystems를 활용한 UI Control (0) 2021.11.07 [Unity][2D] 카메라 줌 인/줌 아웃 (0) 2021.10.31 [Unity][2D] UI 배치를 위한 Canvas 알아보기 (0) 2021.10.30 [Unity][2D] 버튼 만들기&연결하기 (0) 2021.10.26 [Unity][2D] Rotation 하기 (0) 2021.10.25