2014-04-17 58 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中找到。


給你的問題。製作應該透明的區域的反色紋理,並將其作爲紋理傳遞給物理主體。它將被分析並創建自由區周圍的身體。