2016-07-27 10 views
0

Hey Ich habe eine Welt/Szene mit einem Mann darin, also entschied ich mich, ein Physik-Feld zu machen, um als Schwerkraft zu handeln. also bin ich in der Lage, es in kein Problem schnell zu programmieren, aber dann habe ich die App laufen lassen und es gibt mir schlechten Zugang. Ohne diese Codezeilen läuft mein App/Scakekit-Spiel problemlos weiter. Bitte beachten Sie das Bild angehängt Dankschlechtes Zugang Physik Feld stürzt Anwendung SWIFT, XCODE

enter image description here

Code:

// 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

Versuchen Sie es mit den Debugger: stattdessen versuchen, die Stärke auf dem lokalen field variable Einstellung. Es sollte Ihnen sagen, in welcher Zeile der schlechte Zugriff aufgetreten ist. –

+0

ok Ich habe die Codezeile für die Physikstärke gemacht. Ich habe dieser Frage ein Bild beigefügt –

+0

Ist etwas nicht auf dieser Linie? –

Antwort

2

Es sieht aus wie Sie self.fieldOwner.physicsField zugreifen, bevor es zu setzen.

ändern

self.fieldOwner.physicsField!.strength = 0.0 

Um

field.strength = 0.0 
+0

Danke, es läuft gut –