我将使用哪种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/