从这个问题Detecting mouse coordinates withprecision开始,我在过去几天里学到了很多东西。以下是我挑选的关于该主题的最佳学习资源:
- http://gamedev.tutsplus.com/tutorials/implementation/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space/
- http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/quadtrees-r1303
- http://jsfiddle.net/2dchA/2/
(3) 中的代码在 JSFiddle 中有效,但在我的测试环境 (VS2012) 中的本节中断:
var myTree = new Quadtree({
x: 0,
y: 0,
width: 400,
height: 300
});
带有消息 Quadtree 在 IE 中未定义。FF & Chrome 只是掩盖它并显示一个空白页面。我没办法解决。问题1:有人可以帮忙吗?
我的主要问题:我有一个区域(像地图一样的地块),其中大约 1500 个地块是用 html5 绘制的,而不是 jpg 或 png 图像。完成它需要很多代码行,但渲染很棒,所以我保持这种方式。我打算让鼠标悬停事件告诉我当鼠标停止时我站在哪个包裹上。正如您将在上一个问题中看到的那样,我之前的尝试并不令人印象深刻。根据我一直在做的学习,并且感谢 Ken J 的回答/评论,我想采用这种新方法,将我的画布切成 15 个四边形,每个四边形 100 个对象。但是,在我以错误的方式进行另一次疯狂潜水之前,我需要一些指导。
问题 2:我应该在创建时将其切片,还是应该在鼠标悬停在某个区域上时进行切片,即跟踪鼠标?后者对我来说听起来更好,但我认为我可以提供一些建议,如果可能的话,一些开始的代码。四叉树的概念对我来说是全新的。谢谢。