答案 0 :(得分:2)
我认为您应该使用隧道的两侧来定义SKShapeNodes,以便当球在隧道中时,不在节点内。
在您的示例图片中,您将有2个节点 - 每个黑色区域一个节点。
然后设置碰撞参数,使球不能通过形状
答案 1 :(得分:0)
你有很多方法可以在spriteKit中实现同样的目的。
// add your rectangle size for example
SKPhysicsBody(edgeLoopFrom: scene.frame)
但在您的情况下,因为它在图像中。您必须绘制隧道,您可以使用点绘制物理主体并为其指定 physicsBody ,然后将isDynamic设置为false,这意味着主体不会被其他物理主体移动。您仍然可以使用名为 kinematic 的操作移动它。
// After you draw your physicsBody set the isDynamic physicsBody property to false
tunnel.physicsBody.isDynamic = false
现在身体会与其他物理身体发生碰撞,但不会受到任何碰撞或重力的影响