我有一个SKPhysicsBody
用SKPhysicsBody(edgeLoopFrom:...)
. 在那个物理体内是一堆弹跳的球。当出现通知时,我会从屏幕底部显示一个视图。我想调整SKPhysicsBody
它的大小,以便球在屏幕上时从这个通知视图反弹。
我现在做的是
func updateWalls() {
let wallInsets = UIEdgeInsetsMake(bottomWallInset, 0, 0, 0)
scene.physicsBody = SKPhysicsBody(edgeLoopFrom:UIEdgeInsetsInsetRect(bounds, wallInsets))
}
换句话说,我只是用具有新维度的新物理体替换旧物理体。这是可行的,除了如果任何球在旧维度和新维度之间的区域内,它们就会被困住并从墙外反弹并掉出世界。
是否有一种优雅的方式来为新旧墙边界之间的过渡设置动画,这样位于底部的任何球都被“扫”到新的尺寸中,并保证留在墙内?您不能SKPhysicsBody
直接缩放.