对不起我的英语不好!
我有两个关于动力学JS和交叉口的问题。
0x800a138f - Laufzeitfehler in JavaScript: Die Eigenschaft "hitCanvas" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
发布于 2013-07-08 17:55:51
intersects(point)
确定点是否在形状中,而不管其他形状是否在其顶部。注意:由于此方法清除临时画布,然后重新绘制形状,因此如果连续多次执行,它的性能非常差。如果可能的话,请使用Kinetic.Stage#getIntersection方法,因为它的性能要好得多话虽如此,在双for each
循环中每100 is调用一次intersects(pos)
,会对性能O(n^2)
产生很大的影响。慢度将随着您拥有的对象的增加而成倍增加,因此10个节点已经在减慢您的应用程序!
您最好在这里创建自己的碰撞检测算法,以提高碰撞检测的性能,因为看起来您需要经常检测碰撞(在本例中,每100 in)。因为你正在检测圆点(圆圈)之间的碰撞,所以我建议研究一下圆周碰撞算法。查看此站点以获得更多信息:http://www.gamefromscratch.com/post/2012/12/12/GameDev-math-recipes-Collision-detection-using-bounding-circles.aspx
intersects(pos)
方法需要一个{x: newX, y: newY}
形式的point对象,所以您得到了这个错误,所以传递的内容是错误的。
这是错误的:intersects(newX, newY)
这是对的:intersects({x:newX, y:newY})
https://stackoverflow.com/questions/17531024
复制相似问题