Diamond isometric map, get mouse coordinates using a formula derived from a matrix using corners

问题描述 投票:0回答:0

试图在等距菱形地图上挑选一块瓷砖。

我找到了一个关于使用矩阵的等距菱形地图的教程。

X = cell.I * 0.5 * TILE_WIDTH() + cell.J * -0.5 * TILE_WIDTH() Y = cell.I * 0.25 * TILE_HEIGHT() + cell.J * 0.25 * TILE_HEIGHT()

放置瓷砖这就像一个魅力。

我很想根据角点 (0.5, 0.25..) 反转上面的公式,但我不知道这样做。

  1. 我试过经典的公式比如

map.x = (screen.x / TILE_WIDTH_HALF + screen.y / TILE_HEIGHT_HALF) /2; map.y = (screen.y / TILE_HEIGHT_HALF -(screen.x / TILE_WIDTH_HALF)) /2; 来自 Clint Bellanger 但没有工作。

  1. 试图调整数字但仍然无法正常工作。
  2. 浏览了大量的谷歌页面、reddits 和几个教程来尝试不同的公式,但遗憾的是我无法让它工作。

目前我的地图没有偏移量,每 32 个像素有 32 个精灵。

c# 2d game-development monogame isometric
© www.soinside.com 2019 - 2024. All rights reserved.