2016-07-27 13 views
0

ちょっと体が重力として働くように物理フィールドを作ることにしました。だから私はそれを迅速に使用して問題をコードすることができるが、その後、私はアプリを実行し、それは悪いアクセスを与え続けている。これらのコード行を使って、私のapp/scenekitのゲームはどんな助けもスムーズに実行できます。あなたがそれを設定する前にself.fieldOwner.physicsFieldにアクセスしているように見えます悪いアクセス物理フィールドがクラッシュするアプリケーションSWIFT、XCODE

// I declared field owner up at the top here 
    class GameViewController: UIViewController, ADBannerViewDelegate, SKPhysicsContactDelegate, SKSceneDelegate, SCNSceneRendererDelegate, SCNPhysicsContactDelegate{ 

     var fieldOwner = SCNNode() 

     override func viewDidLoad() { 
      super.viewDidLoad() 

     //Force field to act as Gravity 

     fieldOwner = SCNNode() 
     fieldOwner.position = SCNVector3(x: 0, y: -5, z: -5) 

     let field: SCNPhysicsField = SCNPhysicsField.radialGravityField() 
     field.halfExtent = SCNVector3Make(100, 100, 100) 
     field.minimumDistance = 20.0 
     field.falloffExponent = 0 

     self.fieldOwner.physicsField!.strength = 0.0 
     self.fieldOwner.physicsField = field 

     scnView.scene!.rootNode.addChildNode(fieldOwner) 
    } 
    } 
+0

デバッガを使用してみてください。悪いアクセスが発生した行を表示する必要があります。 –

+0

私はコードの物理的な強さの行をしました。私はこの質問に画像を添付しました –

+0

その行には何もありませんか? –

答えて

2

:ありがとう

enter image description here

は、コード画像は添付資料参照してください。代わりに、ローカル変数field上の強度を設定してみてください:

変更

self.fieldOwner.physicsField!.strength = 0.0 

field.strength = 0.0 
+0

それは良い実行します –

関連する問題