我将使用哪种SKPhysicsBody身体类型来创建椭圆physicsBody?

我知道我可以用直线绘制一条曲线,而不必是真正的椭圆,但是似乎必须有某种方法可以挤压圆或创建圆?

最佳答案

Create an elliptical CGPath并使用该路径创建一个多边形主体:

CGPathRef path = CGPathRef CGPathCreateWithEllipseInRect(someRect, nil);
SKPhysicsBody* body = [SKPhysicsBody bodyWithPolygonFromPath:path];


尽管创建的路径可能会为椭圆创建16个以上的顶点(内部限制)。在这种情况下,它将会崩溃,您必须手动创建路径,以确保其点数不超过16。

如果物体不需要动态,则也可以使用bodyWithEdgeLoopFromPath:bodyWithEdgeChainFromPath:-两者都对顶点数没有限制。

关于ios - 椭圆SKPhysicsBody,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21270966/

10-14 02:34