2014-04-17 29 views

回答

-1

你不能为这种形状创建单个物理体。

使用bodyWithPolygonFromPath:将只允许您创建一个凸多边形路径,这显然不适合您的形状。

我觉得你有3个选择这里:

  1. 使用数量bodyWithPolygonFromPath:机构(可能是最难做的,耗时的)。
  2. 使用各种大小的bodyWithRectangleOfSize:身体(不那么困难,但费时)。
  3. 在图像中只使用直线,并使用bodyWithRectangleOfSize:(最简单和最快)。如果您选择此选项,请记住您仍然可以将直线旋转到各种角度。
4

iOS8您可以为这种形状创建单个物理体。

用p.e创建您的形状的纹理。 Adobe Illustrator和使用这种方法:

init(texture texture: SKTexture!,alphaThreshold alphaThreshold: CFloat,size size: CGSize) -> SKPhysicsBody 
  • SKTexture是你的整形图像。身体由彩色像素定义。
  • alphaThresHold:应该是新物理体的一部分的texels的最小alpha值。
  • 尺寸很清晰我认为。

分析纹理并忽略鸡蛋周围的所有不可见像素,只将颜色像素解释为SKPhysicsNode的主体。你应该使用太多这些,因为它们对物理引擎的计算非常昂贵。

该方法的变体可在SpriteKit Class Reference中找到。


给你的问题。制作应该透明的区域的反色纹理,并将其作为纹理传递给物理主体。它将被分析并创建自由区周围的身体。