【发布时间】:2014-06-18 05:27:19
【问题描述】:
我正在尝试通过鼠标位置在等距世界中获得正确的图块。
我已经阅读了一些关于此的主题,但它似乎对我不起作用。 基本思想是将正常鼠标坐标重新计算为等距平铺坐标。
如您所见,鼠标光标位于 5/4 的图块上,重新计算错误(选择的图块为 4/5)。这是我的代码:
var params.tx = 100, params.ty=54,
PI = 3.14152,
x1 = x_mouse - params.tx*5,
y1 = y_mouse * -2,
xr = Math.cos(PI/4)*x1 - Math.sin(PI/4)*y1,
yr = Math.sin(PI/4)*x1 + Math.cos(PI/4)*y1,
diag = (params.ty) * Math.sqrt(2),
x2 = parseInt(xr / diag)+1,
y2 = parseInt(yr * -1 / diag)+1;
图块的原始高度是 54 像素,但如您所见,只有边框图块显示其全高。其余的图块被切割了 4 个像素。
请帮助我 - 可能是我的整个公式都错了。
【问题讨论】:
标签: javascript coordinates isometric