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