我有一个像下面这样的纹理:
(上下 block 之间,是透明的)。
我想使用它创建一个 SpriteNode 并想将物理体附加到它上面。我如何创建一条路径(用于物理体的多边形),以便如果另一个物体穿过透明区域,则不会检测到碰撞?在我见过的例子中,物理体是连续的,路径在任何时候都不会中断。或者我可以将多个物理体附加到单个 SpriteNode 吗?
(PS:我想将其绘制为单个 SpriteNode)。
最佳答案
您可以使用 (SKPhysicsBody *)bodyWithBodies:(NSArray *)bodies
为一个 SKSpriteNode 创建两个或多个物理体。
Apple Docs:传入此方法的物理体的形状用于创建一个新的物理体,其覆盖区域是其子区域的并集。这些区域不需要是连续的。如果两个部分之间有空间,则其他物体可能能够在这些部分之间通过。然而,物理体被视为一个单独的连接体,这意味着施加到 body 上的力或脉冲会影响所有的部分,就好像它们是用一个坚不可摧的框架结合在一起的。
关于ios - SKSpriteNode 上不连续纹理的物理体路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29337897/