4

Swift を使用して 2D 重力シミュレーターのように見える SpriteKit ゲームを作成しようとしていますが、オブジェクトが少し近づくと、狂った速度で反対方向に進みます。

minimumRadiusこれは、フィールドとphysicsBodyの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 デモンストレーション:

問題のデモンストレーション

ご覧のとおり、問題を引き起こすためにオブジェクトが移動する必要がある距離はランダムに見えます。

4

0 に答える 0