Sprite kit Sprite套件物理身体复杂形状-Spritekit
我有这样的情况: 我想把白色的球移到红色的轨道内,并检测球在哪里碰到红色轨道的极限 哪一个是最好的解决方案?我必须沿边界创建多个透明形状?你还有其他想法吗?Sprite kit Sprite套件物理身体复杂形状-Spritekit,sprite-kit,game-physics,skphysicsbody,Sprite Kit,Game Physics,Skphysicsbody,我有这样的情况: 我想把白色的球移到红色的轨道内,并检测球在哪里碰到红色轨道的极限 哪一个是最好的解决方案?我必须沿边界创建多个透明形状?你还有其他想法吗? 非常感谢你无法为这种形状创建一个物理实体 使用bodyWithPolygonFromPath:将只允许您创建一个凸多边形路径,显然不适合您的形状 我认为您有3种选择: 使用多个body with polygon fromPath:body(可能是最难做且耗时的) 使用多种不同尺寸的车身和矩形尺寸:车身(不是很难,但很耗时) 在图像中仅使用直
非常感谢你无法为这种形状创建一个物理实体 使用
bodyWithPolygonFromPath:
将只允许您创建一个凸多边形路径,显然不适合您的形状
我认为您有3种选择:
body with polygon fromPath:
body(可能是最难做且耗时的)车身和矩形尺寸:
车身(不是很难,但很耗时)在iOS8中,可以为这种形状创建一个物理实体 使用p.e.Adobe Illustrator为您的形状制作纹理,并使用以下方法:
init(texture texture: SKTexture!,alphaThreshold alphaThreshold: CFloat,size size: CGSize) -> SKPhysicsBody
是您的塑形图像。主体由彩色像素定义SKTexture
- alphaThresHold:应成为新物理体一部分的texel的最小alpha值
- 我想尺寸很清楚
解决你的问题。为你的区域制作一个透明的反向纹理,并将其作为纹理传递给物理体。将对其进行分析,并在自由区周围创建一个实体。您可以使用
+bodyWithEdgeLoopFromPath:
。这将是一项艰苦的工作,但可能是值得的。