1

我正在使用 JavaScript 创建标签云。它采用“标签”的无序列表,然后从 div 的最中心点随机分布它们(高斯分布)。

我遇到的麻烦是找到一个有效的指标来确定我的任何标签是否重叠。

最终我想出了两种方法:

(1) 定位每个标签,考虑到已经放置的标签的位置。(我不完全确定我会如何做到这一点,但是,无论如何,它似乎并不是最优雅的解决方案,所以无论如何)。

(2) 将每个item的绝对位置(top/left)和宽高存储在一个数组中,随机生成一个位置;检查重叠,然后相应地放置或随机重新生成位置。

由于这听起来像是游戏开发中的一个常见问题,我想我会发布它,看看是否有人知道最佳实践方法。

编辑:现在我正在考虑确定每个列表项的中心点和到任何角落的距离,然后比较两个中心点之间的距离。不过,我们将不胜感激进一步的建议。

4

0 回答 0