我有這種情況:http://mokainteractive.com/example.png雪碧套件物理車身複雜形狀 - Spritekit
我想移動紅色軌道內的白色球和檢測無論球觸摸紅色軌道的限制。
哪一個是最好的解決方案?我必須沿邊界創建多個透明形狀?你有其他想法嗎? 非常感謝
我有這種情況:http://mokainteractive.com/example.png雪碧套件物理車身複雜形狀 - Spritekit
我想移動紅色軌道內的白色球和檢測無論球觸摸紅色軌道的限制。
哪一個是最好的解決方案?我必須沿邊界創建多個透明形狀?你有其他想法嗎? 非常感謝
你不能爲這種形狀創建單個物理體。
使用bodyWithPolygonFromPath:
將只允許您創建一個凸多邊形路徑,這顯然不適合您的形狀。
我覺得你有3個選擇這裏:
bodyWithPolygonFromPath:
機構(可能是最難做的,耗時的)。bodyWithRectangleOfSize:
身體(不那麼困難,但費時)。bodyWithRectangleOfSize:
(最簡單和最快)。如果您選擇此選項,請記住您仍然可以將直線旋轉到各種角度。在iOS8您可以爲這種形狀創建單個物理體。
用p.e創建您的形狀的紋理。 Adobe Illustrator和使用這種方法:
init(texture texture: SKTexture!,alphaThreshold alphaThreshold: CFloat,size size: CGSize) -> SKPhysicsBody
SKTexture
是你的整形圖像。身體由彩色像素定義。分析紋理並忽略雞蛋周圍的所有不可見像素,只將顏色像素解釋爲SKPhysicsNode的主體。你應該使用太多這些,因爲它們對物理引擎的計算非常昂貴。
該方法的變體可在SpriteKit Class Reference中找到。
給你的問題。製作應該透明的區域的反色紋理,並將其作爲紋理傳遞給物理主體。它將被分析並創建自由區周圍的身體。
你可以使用'+ bodyWithEdgeLoopFromPath:'。這將是艱苦的工作,但可能是值得的。 – ZeMoon