不止一个SKPhysicsBody来自纹理与alpha

时间:2015-11-13 21:40:29

标签: ios swift sprite-kit skphysicsbody

我试图动态地从包含alpha值的纹理创建SKPhysicsBody。不幸的是,SKPhysicsBody只是在纹理中创建了一个部分。我该如何解决?

这里是如何创建SKPhysicsBody的:

physicsBody = SKPhysicsBody(texture: texture!, size: size)

编辑:

https://dev.windows.com/en-us/downloads/windows-10-developer-preview

Before

1 个答案:

答案 0 :(得分:1)

为了完整起见,我找到了解决这个问题的方法。

可悲的是,我无法通过纹理中的这个方便功能创建SKPhysicsBody。一旦纹理包含多个形状,它就不再起作用了。

基本上我所做的是手动创建初始路径,对路径本身进行所有计算并将它们全部存储起来,然后在每次更改后从这些路径重新创建SKPhysicsBodies。

我使用一个开源剪辑库(Clipper),我将路径传递给剪辑,然后返回一个包含所有形状的所有路径/多边形的二维CGPoint数组。我使用这个路径来创建新的SKPhysicsBodies并将它们与SKPhysicsBody合并(主体:[SKPhysicsBody])。

enter image description here