我正在使用 swift 和 sprite 套件开发 Xcode 项目,我想知道如何选择哪些对象受径向重力场影响。我目前有两颗恒星和一些行星,每颗恒星后面都有一个径向重力场。问题在于恒星被它们自己的引力场吸引。我怎样才能使每个重力场只影响一颗恒星和所有行星,而不影响它所跟随的恒星。我知道它与categoryBitMask 和/或fieldBitMask 有关,但我不知道具体如何。提前致谢。下面是恒星和重力场的代码。我不想让重力场影响到那颗星星。
class star: SKSpriteNode {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
init(imageNamed: String){
let imageTexture = SKTexture(imageNamed: imageNamed)
super.init(texture: imageTexture, color: nil, size: imageTexture.size())
let radius = self.size.width / 2
self.physicsBody = SKPhysicsBody(circleOfRadius: radius )
physicsBody?.dynamic = false
}
}
let star1 = star(imageNamed: "star")
let gravityField1 = SKFieldNode.radialGravityField()
star1.position = CGPoint(x: self.size.width / 4, y: self.size.height / 2)
star1.physicsBody?.friction = 0
star1.physicsBody?.linearDamping = 0
star1.physicsBody?.angularDamping = …Run Code Online (Sandbox Code Playgroud)