Tilemap与世界坐标, 屏幕坐标之间的转换
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;
public class GameController : MonoBehaviour
{
public Grid grid_; // Tilemap的Grid组件
void Update()
{
if (Input.GetMouseButtonDown(0)) {
// 将鼠标点击的屏幕坐标转换为世界坐标
Vector3 wPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
// 将世界坐标转换为瓦片坐标
Vector3Int cellPos = grid_.WorldToCell(wPos);
// 由于是2D, 所以手动将瓦片的Z坐标改为0, 实际项目可以先查看瓦片的Z坐标值.
cellPos.z = 0;
Debug.Log(cellPos);
Debug.Log(grid_.CellToWorld(cellPos));
}
}
}