Sprite Kit - 将两个物理主体添加到一个SKNode

den*_*tra 7 physics ios7 sprite-kit

是否可以在一个SKNode中添加两个(更多)SKPhysicsBodys?与此类似的东西: 来自PhysicsEditor的示例 因为角色的头部应该与球碰撞,所以顶部应该是圆形的.此外球不能通过球员.你知道如何做到这一点吗?

ric*_*ter 5

正如physicsBody财产所SKNode暗示的那样,节点和物理体之间存在一对一的关系.

但是,这并不意味着每个可见的精灵都必须有一个基本形状.您可以采取一些方法来完成您正在寻找的内容:

  • 顶部真的需要四舍五入吗?你可以用矩形覆盖大部分猴子艺术品.(我认为你想要一个圆顶,所以碰撞会在不同的方向反弹.)
  • 创建使用多边形后的"圆头矩形"形状.您必须选择多个边来近似适合您应用的曲线:太多并且它会减慢物理模拟的速度,太少而且当其他物体反弹时它不会表现得像圆圈.
  • 每个身体都需要一个节点,但不是每个节点都需要一个可见的精灵.你可以用两个节点制作你的猴子:一个拿着艺术并且附有方形或圆形物理体,另一个节点有另一个物理体,通过一个固定的关节连接,但没有艺术.

  • 只需注意,iOS 8现在允许您使用bodyWithBodies:将两个物理实体添加到一个SKNode中,如SKPhysicsBody.bodyWithBodies(实体:AnyObject []?).请注意,忽略子体上的属性,例如质量或摩擦力.仅使用子体的形状.如果你需要一个具有多个命中目标的节点(例如,身体与头部),那么你需要做一下rickter在第3点的建议. (2认同)