在Swift 3中重置SkSpriteNode物理模拟
所以我想把一个正方形从屏幕的左下角移到右上角。然而,每次这个动作发生时,正方形都会向屏幕的右侧有一点推动,并保持其先前的倾斜。。。我可以重置它的物理模拟吗在Swift 3中重置SkSpriteNode物理模拟,swift,xcode,sprite-kit,skphysicsbody,Swift,Xcode,Sprite Kit,Skphysicsbody,所以我想把一个正方形从屏幕的左下角移到右上角。然而,每次这个动作发生时,正方形都会向屏幕的右侧有一点推动,并保持其先前的倾斜。。。我可以重置它的物理模拟吗 object.removeAllActions() object.position.y = frame.maxY + 50 object.position.x = frame.miX + 50 以下是如何完全重置节点的物理: object.physicsBody=SKPhysicsBody() 我总是这样做。我发现为我制作一个函数更容易,这
object.removeAllActions()
object.position.y = frame.maxY + 50
object.position.x = frame.miX + 50
以下是如何完全重置节点的物理:
object.physicsBody=SKPhysicsBody()
我总是这样做。我发现为我制作一个函数更容易,这样你就不必每次重置pb时都重新配置它:
class Player: SKSpriteNode {
func resetPB() {
self.physicsBody = SKPhysicsBody(rectangleOf: self.size)
self.physicsBody?.categoryBitMask = UInt(4)
self.physicsBody?.mass = 35
// And so on...
}
}
或者,如果您没有使用子类:
func resetPlayerPB(_ player: SKSpriteNode) {
player.physicsBody = SKPhysicsBody(rectangleOf: player.size)
// And so on...
}
你能提供更多的信息吗?我不明白“正方形向屏幕右侧有一点推力”是什么意思,也不明白为什么会有倾斜,根本不明白。@天哪,是你。