2015-08-24 88 views
2

我創建了一個橢圓SKShapeNode,並且我希望該形狀具有物理實體,但我找不到橢圓的SKPhysicsBody初始值設定項。如何使用Swift製作橢圓SKPhysicsBody

這是橢圓形的代碼形狀

attackCircle = SKShapeNode(ellipseOfSize: CGSize(width: 1000, height: 400)) 

對不起提前如果我沒有問正確的問題。這是我在網上詢問的第一個問題。

回答

3

您想使用CGPath將其設置爲橢圓。還有iOS版構造7+它允許您撥打:

attackCircle = SKShapeNode(ellipseOfSize: CGSize(width: 1000, height: 400)) 
attackCircle.physicsBody = SKPhysicsBody(polygonFromPath: CGPathCreateWithEllipseInRect(CGRectMake(-500, -200, 1000, 400), nil)) 

您使用polygonFromPath初始化設置attackCircle.physicsBody的路徑。 nil只是說它不是相對於其他任何東西。

+0

當我使用'attackCircle.physicsBody!.path = CGPathCreateWithEllipseInRect(CGRectMake(-500,-200,1000,400),nil)'彈出一條錯誤消息,提示「SKPhysicsBody沒有名爲path的成員」。所以我嘗試了你的其他建議,並把它放在'attackCircle.physicsBody = SKPhysicsBody(polygonFromPath:CGPathCreateWithEllipseInRect(CGRectMake(-500,-200,1000,400),nil))'它工作。 – Malcolm

+0

好吧,看起來我的Swift搞砸了,根據Apple的在線文檔,'SKPhysicsBody(polygonFromPath:)'可以在iOS 7上運行。我的Swift告訴我一切都是iOS 8+。我會編輯我的答案來反映這一點。 – Gliderman