我应该使用哪种SKPhysicsBody体类型来创建椭圆physicsBody?
我知道我可以用直线做一条曲线,但它不是一个真正的椭圆,但似乎必须有某种方法来挤压一个圆或创建一个圆?
发布于 2014-01-21 23:22:53
创建一个椭圆CGPath并创建具有该路径的多边形体:
CGPathRef path = CGPathRef CGPathCreateWithEllipseInRect(someRect, nil);
SKPhysicsBody* body = [SKPhysicsBody bodyWithPolygonFromPath:path];但是,创建的路径可以为椭圆创建超过16个顶点(内部限制)。在这种情况下,它将崩溃,您必须手动创建路径,确保它不超过16分。
如果身体不需要是动态的,你也可以使用bodyWithEdgeLoopFromPath:和bodyWithEdgeChainFromPath: --两者都没有限制顶点的数量。
发布于 2014-01-21 23:37:05
由于Sprite Kit不接受带有椭圆CGPath的基于卷的物理体(它可以做圆圈、矩形或任何具有最多12个顶点的凸多边形),所以有两个选项:
SKNode到你的精灵,并把它稍微偏移到侧面,然后添加一个更小的基于圆圈的物理体到那个子节点。现在你有两个圆形的物理体在一起。冲洗和重复在另一边-我想你可以接近某种云/椭圆形的形状,只有三个这样的圆圈彼此接近。或者你可以得到更好的结果,只要把圆形物体和一个固定的接头连接起来。https://stackoverflow.com/questions/21270966
复制相似问题