我正在尝试使用Swift创建一个看起来有点像2D重力模拟器的SpriteKit游戏,但是当我的物体接近一点时,他们会以疯狂的速度向相反的方向前进。
这可能与字段和physicsBody上的minimumRadius
,categoryBitMask
或fieldBitMask
属性有关,但我不确切知道。
以下是相关代码:
override func mouseDown(theEvent: NSEvent) {
let location = theEvent.locationInNode(self)
let sprite = SKShapeNode(circleOfRadius: 5)
sprite.fillColor = SKColor(red: 0, green: 0.5, blue: 1, alpha: 1)
sprite.strokeColor = SKColor.clearColor()
sprite.position = location
sprite.physicsBody = SKPhysicsBody(circleOfRadius: 5)
let gravityField = SKFieldNode.radialGravityField()
//gravityField.minimumRadius = 5
sprite.addChild(gravityField)
self.addChild(sprite)
}
这个问题的gif演示:
正如您所看到的,物体移动以触发问题所需的距离似乎是随机的。