多个 SKPhysicsBody 来自带有 alpha 的纹理
More than one SKPhysicsBody from texture with alpha
我正在尝试从动态包含 alpha 值的纹理创建 SKPhysicsBody。不幸的是,SKPhysicsBody 仅由纹理中的一块创建。我该如何解决?
创建 SKPhysicsBody 的方式如下:
physicsBody = SKPhysicsBody(texture: texture!, size: size)
编辑:
为了完整起见,我现在找到了解决该问题的方法。
遗憾的是,我不能只使用纹理中的这个方便的功能创建 SKPhysicsBody。一旦纹理包含多个形状,它将不再起作用。
基本上我所做的是手动创建初始路径,对路径本身进行所有计算并将它们全部存储,然后在每次更改后从该路径重新创建 SKPhysicsBodies。
我使用开源剪辑库 (Clipper),我将路径传递给剪辑,然后返回一个二维 CGPoint 数组,其中包含来自所有形状的所有 paths/polygons。我使用此路径创建新的 SKPhysicsBodies 并将它们与 SKPhysicsBody(bodies: [SKPhysicsBody]).
合并
我正在尝试从动态包含 alpha 值的纹理创建 SKPhysicsBody。不幸的是,SKPhysicsBody 仅由纹理中的一块创建。我该如何解决?
创建 SKPhysicsBody 的方式如下:
physicsBody = SKPhysicsBody(texture: texture!, size: size)
编辑:
为了完整起见,我现在找到了解决该问题的方法。
遗憾的是,我不能只使用纹理中的这个方便的功能创建 SKPhysicsBody。一旦纹理包含多个形状,它将不再起作用。
基本上我所做的是手动创建初始路径,对路径本身进行所有计算并将它们全部存储,然后在每次更改后从该路径重新创建 SKPhysicsBodies。
我使用开源剪辑库 (Clipper),我将路径传递给剪辑,然后返回一个二维 CGPoint 数组,其中包含来自所有形状的所有 paths/polygons。我使用此路径创建新的 SKPhysicsBodies 并将它们与 SKPhysicsBody(bodies: [SKPhysicsBody]).
合并