我在精灵工具包图层上有多个多边形(SKShapeNodes)。所有这些都是非自相关的多边形。我想知道:
1)如果我引入一个新的,它是否与之前的任何一个相交:
SKNode' func intersectsNode(_ node:SKNode) - >布尔"提供这样做的手段?如何迭代节点树以检查所有现有的SKShapeNodes?
2)他们交叉的区域:
如果新多边形与现有多边形相交,我需要计算交点的面积(例如下图中的红色区域)。有人可以为此提出一个简单的算法吗?
3)将两个多边形合并到一个新的SKShapeNode多边形中,并从SKNode树中删除两个先前的多边形。
因此,在引入了与先前存在的多边形B相交的新多边形A之后,我想从sprite kit的节点树中删除现有的多边形A和B,并引入一个新的多边形C,其路径为是多边形A和B的路径合并(下图中的橙色)
我对Sprite Kit和图形编程相对较新,也不太适合欧几里德几何。关于如何处理这些任务的方法的所有建议都非常赞赏!!!