0
我有两个障碍。我可以拖动它们中的一个(精灵)。我会产生这样的效果,当我拖动一个障碍物并用另一个障碍物撞击另一个障碍物时,另一个障碍物将受到撞击的影响,并通过在另一个方向上疑惑而遵循物理定律。碰撞检测swift sprite工具包。
这是我的代码到目前为止。
任何人有任何想法我可以做到这一点? 感谢
func addSprite() {
sprite.physicsBody = SKPhysicsBody(circleOfRadius: sprite.size.width/2)
sprite.position = CGPoint(x: size.width * 0.35, y: size.height * 0.5)
sprite.physicsBody?.dynamic = false
sprite.physicsBody?.allowsRotation = false
sprite.physicsBody?.restitution = 1.0
sprite.physicsBody?.categoryBitMask = UInt32(balCategory)
sprite.physicsBody?.contactTestBitMask = UInt32(obstacleCategory)
sprite.physicsBody?.friction = 0.0
sprite.physicsBody?.angularDamping = 0.0
sprite.physicsBody?.linearDamping = 0.0
sprite.physicsBody?.usesPreciseCollisionDetection = true
sprite.physicsBody?.collisionBitMask = 0
addChild(sprite)
}
func addObstacle() {
treat.setScale(0.5)
treat.physicsBody = SKPhysicsBody(rectangleOfSize: treat.size)
treat.physicsBody?.dynamic = false
treat.physicsBody?.categoryBitMask = UInt32(obstacleCategory)
treat.physicsBody?.contactTestBitMask = UInt32(balCategory)
treat.physicsBody?.collisionBitMask = 0
treat.physicsBody?.usesPreciseCollisionDetection = true
treat.name = "treat"
treat.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
self.addChild(treat)
}
它使得当两个物体碰撞时,它们彼此接触但不能再彼此通过。他们现在像固体块一样行事。我怎样才能让“待客”像外太空一样漂浮? –
对不起,在我的答案中错过了这个错误,设置了'treat.physicsBody?.dynamic = true',对于精灵也是如此。如果dynamic为false,则意味着它们不能更改/移动 –