【发布时间】:2019-08-27 21:56:28
【问题描述】:
我正在构建一个迷宫求解器,最近我希望能够在网格上绘制,而不必使用数组手动构建迷宫。无论如何,我坐下来想“必须有一种更有效的方法来确定鼠标在单击事件时与哪个单元格发生碰撞,而不是必须遍历整个网格,这在最坏的情况下会花费 @987654327 @.”
经过一番思考,我想出了以下解决方案。
我知道每个网格的大小是恒定的(在我的情况下为16x16),并且我知道鼠标的位置。所以我决定将鼠标位置除以tileSize,然后向下取整。
我的问题是,这是否比逐个单元格地迭代整个网格更好。我还没有看到有人这样做,所以我想知道是否有一些边缘情况我没有想到哪个可能不适用于此解决方案。
【问题讨论】:
-
你将如何确定
tileSize? -
@PM77-1 tileSize 是 16,如果你的方块是 16x16.. 或 32,如果它们是 32x32
-
是的,这是一个更好的解决方案,它一直用于计算机图形学。它不是唯一的或不寻常的,它是解决这个问题的标准方法。
标签: javascript arrays performance collision-detection