可以这么说,我正在寻求创建一个基于Web的“公告栏”,用户可以在其中创建/删除/拖放/放置“图钉”,而不能重叠“图钉”。
这是一个图表,应有助于说明我要创建的内容:
可能在
双击他们会提示用户输入标签。
“别针”不能重叠;
(最终形状会更大,更多
椭圆形。)
“引脚”将需要能够通过可视元素(即虚线)与其他“引脚”“连接”,但并非所有引脚都将被“连接”。
我发现GameQuery据称支持边界框碰撞-但是用椭圆而不是框检测碰撞是非常重要的(我知道上面的示例可能会相反,但这只是一个图...不是模拟图)预期的最终设计。)
“引脚”的大小/形状也可能会有所不同,具体取决于标签的大小...我想也应该考虑到这一点,以确保有助于所有UX变量的方法。
我已经找到Quadtree和Collision Detection以及此GameQuery collision demo,但看起来有点像胡言乱语。我一直希望朝着正确的方向前进,以便让我知道我花时间投入的方法将能达到我想要的结果……而不是费力地弄清楚Quadtree和GameQuery这样的例子,只是为了找到他们将无法在该项目中工作。
...
另外,如果有经验的开发人员愿意在这个项目上为我提供指导—我准备提供我非常精致的设计经验,并解决一些“我需要帮助”的问题。
如何在GameQuery的现有边框功能中采用n面多边形?它不必是一个完美的圆,但至少需要8面。
最佳答案
我认为您的问题根本不是与jQuery甚至Javascript有关的问题。您的问题是,如何检测一个椭圆何时重叠(或不重叠)另一个椭圆?这是一个数学问题,它是one that has already been asked here。
请注意,这对于刚接触编程的人来说是一个非常棘手的问题。我对编程并不陌生,我认为这具有挑战性,尤其是在您的其他要求(例如拖放)方面。您已经遇到了一个非常高级的问题,在这一点上,我强烈建议您做任何可以简化的事情(例如使用边界框)。