1. Limpia el mapa de mosaicos
map.ClearAllTiles();
2. Obtenga la cuadrícula de coordenadas especificada
TileBase tmp = map.GetTile(Vector3Int.zero);
print(tmp);
3. Configurar para eliminar mosaicos
map.SetTile(new Vector3Int(0, 2, 0), tileBase);
map.SetTile(new Vector3Int(1, 0, 0), null);
4. Reemplazar azulejos
map.SwapTile(tmp, tileBase);
5. Convertir coordenadas mundiales en coordenadas de cuadrícula.
posición de la cámara
Convertir coordenadas de pantalla a coordenadas mundiales
Vector3 mousePos = Input.mousePosition;
Vector3 screenToWorld = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, 10));
El 10 en el eje Z corresponde a la posición de la cámara.
Convertir coordenadas mundiales a coordenadas de cuadrícula
void Update()
{
//按下鼠标左键
if (Input.GetMouseButtonDown(0))
{
//得到鼠标在屏幕的坐标
Vector3 mousePos = Input.mousePosition;
//屏幕坐标转世界坐标
Vector3 screenToWorld = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, 10));
Debug.Log(screenToWorld);
//世界坐标转屏幕坐标
Vector3Int gridPosition = grid.WorldToCell(screenToWorld);
//将鼠标所指位置更换tile
map.SetTile(gridPosition, tb);
}
}
Efecto
Haga clic con el mouse