我试图动态地从包含alpha值的纹理创建SKPhysicsBody。不幸的是,SKPhysicsBody只是在纹理中创建了一个部分。我该如何解决?
这里是如何创建SKPhysicsBody的:
physicsBody = SKPhysicsBody(texture: texture!, size: size)
编辑:
https://dev.windows.com/en-us/downloads/windows-10-developer-preview
答案 0 :(得分:1)
为了完整起见,我找到了解决这个问题的方法。
可悲的是,我无法通过纹理中的这个方便功能创建SKPhysicsBody。一旦纹理包含多个形状,它就不再起作用了。
基本上我所做的是手动创建初始路径,对路径本身进行所有计算并将它们全部存储起来,然后在每次更改后从这些路径重新创建SKPhysicsBodies。
我使用一个开源剪辑库(Clipper),我将路径传递给剪辑,然后返回一个包含所有形状的所有路径/多边形的二维CGPoint数组。我使用这个路径来创建新的SKPhysicsBodies并将它们与SKPhysicsBody合并(主体:[SKPhysicsBody])。