我有节点(沙子)向下落。
我还有其他静态节点(墙)。
如何让沙子碰撞墙壁时不移动?
let wall = SKSpriteNode(texture: chosen)
wall.position = location
wall.physicsBody = SKPhysicsBody(circleOfRadius: sprite.frame.width)
wall.physicsBody?.affectedByGravity = false
wall.physicsBody!.categoryBitMask = BLOCK
self.addChild(wall)
//////////
let sand = SKSpriteNode (imageNamed: img)
var randLoc = arc4random_uniform(26)
sand.position = CGPointMake(location.x - CGFloat(10) + CGFloat(randLoc), location.y)
self.addChild(sand)
//gravity
sand.physicsBody = SKPhysicsBody(circleOfRadius: sand.frame.width)
sand.physicsBody?.affectedByGravity = true
//contact
sand.physicsBody!.categoryBitMask = self.PARTICLE
sand.physicsBody?.collisionBitMask = self.BLOCK | self.PARTICLE
最佳答案
如果你有wall.physicalsBody?.dynamic = false
& sand.physicalsBody?.dynamic = true
那么你应该能够在没有墙壁的情况下检测到接触被沙子插入/移动。 - 丹尼尔·米哈伊拉
关于swift - 制作碰撞后不移动的节点 iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32319544/