SKPhysicsBody(edgeLoopFrom:...)
で作成された大きな矩形SKPhysicsBody
があります。その物理学の体の中には、跳ね返るボールがたくさんあります。通知が表示されたら、画面の下からビューを表示します。 SKPhysicsBody
のサイズを変更して、画面上にボールがこの通知ビューから跳ね返るようにします。私は今何SKPhysicsBodyのエッジをリサイズして子を内部に保持
は、私はちょうど新しい次元を持つ新しいものと古い物理本体を交換言い換えれば
func updateWalls() {
let wallInsets = UIEdgeInsetsMake(bottomWallInset, 0, 0, 0)
scene.physicsBody = SKPhysicsBody(edgeLoopFrom:UIEdgeInsetsInsetRect(bounds, wallInsets))
}
です。これは、古いディメンションと新しいディメンションの間の領域にあるボールがの場合は、が閉じ込められ、壁の外側から跳ね返って世界から落ちるという点を除いて、機能します。
古い壁と新しい壁の境界の間のトランジションをアニメーションするためのエレガントな方法があります。下に横たわるボールは新しい寸法に「掃引」され、壁内にとどまることが保証されますか? You can't scale an SKPhysicsBody
directly。
ありがとうございました。 2つの物理学の間の遷移は、私が現在持っているものと同じになります。私はまだアニメーションを行う方法についています。 – bcattle
内部ノードの物理ノードをオフにしてから、内部ノードを使用してアニメーションを作成し、外壁のようになります(physicsBodyを除く)。最後に非表示にする(外部ノードを表示する)。結局のところ、隠された内部ノードを元の次元に報告する –