如何将屏幕位置转换为等轴位置

时间:2012-06-09 14:43:01

标签: javascript html5 math canvas isometric

如何将屏幕位置(X,Y)转换为等轴测位置?

我有代码将等轴位置转换为屏幕位置:http://jsfiddle.net/CR3JS/

这是公式轴:http://s15.postimage.org/xyxfukxkp/iso_Axis.jpg

我的问题是:如何将屏幕位置(X,Y)转换为等轴位置?

类似的东西:

screenToIsometric(144, 88) -> X: 10, Y: 0, Z: 1

1 个答案:

答案 0 :(得分:1)

您不能有一个单独的X,Y,Z点,因为一个2D屏幕位置将映射到几个不同的图块 - 每个不同的Z级别一个。如果您试图在等轴测视图中找到用户点击的哪个对象,最简单,虽然有点脏的方式只是从上到下循环遍历所有Z级别,在示例函数中使用公式的反转并检查是否有适合的点击位置,如果这个地方为空,则进入较低级别。