我试图从包含阿尔法值的纹理动态创建SKPhysicsBody。不幸的是,SKPhysicsBody仅从纹理中的一个部分创建。我该怎么解决这个问题? 这是创建SKPhysicsBody的代码: physicsBody = SKPhysicsBody(texture: texture!, size: size) 编辑: 之前 之后 这是关于网页设计的改进。
为了完整起见,我现在找到了解决这个问题的方法。可惜我不能只使用纹理中方便的函数来创建SKPhysicsBody。一旦纹理包含多个形状,它就不再起作用了。基本上,我手动创建初始路径,对路径本身进行所有计算并存储它们,然后在每次更改后从这些路径重新创建SKPhysicsBodies。我使用一个开源的剪裁库(Clipper),将路径传递给它进行剪裁,并返回一个二维的CGPoint数组,其中包含所有形状的所有路径/多边形。我使用这些路径创建新的SKPhysicsBodies,并与SKPhysicsBody(bodies:[SKPhysicsBody])合并它们。