2d网格知道square是否在范围内

时间:2016-07-04 10:50:29

标签: javascript css

我正在使用javascript和css尝试制作一个我制作的2d网格,一个8x8网格,并且我在一个变量中保存一个数字,这是网格上的位置,所以10意味着方形10这是第二个第2行的方框。我想知道如何检查我点击的方格是否在1平方范围内?

这是我的意思的图片: image

如何点击一个绿色方框(1平方距离)?谢谢

1 个答案:

答案 0 :(得分:0)

你可以得到任何给定x,y的平铺坐标,如下所示:

var tileX = math.floor(x / width_of_tile);
var tileY = math.floor(y / height_of_tile);

您可以获取任何给定图块索引的图块坐标,如下所示:

var tileX = tileIndex % width_of_array
var tileY = math.floor(tileIndex / width_of_array)

然后,您可以比较任何这些坐标,确保任何相邻的图块具有以下条件:

distX = math.abs(tileXA - tileXB)
distY = math.abs(tileYA - tileYB)
isAdjacent = distX <= 1 && distY <= 1