2016-04-09 10 views
1

Ich habe eine UIScrollView in der Klasse GameViewController erstellt, in der Subviews Szenen sind. Wenn der Benutzer eine bestimmte Szene betritt und eine bestimmte Taste drückt, muss ScrollView aufhören zu scrollen.
Wie kann ich das tun?Wert der Variablen in GameViewController ändern (SpriteKit Swift)

Beispiel Code:

import SpriteKit 
class GameViewController: UIViewController { 
    @IBOutlet weak var scrollView: UIScrollView! 
    ... 
} 
class GameScene: SKScene { 
    //Here we have button and if we will push it 
    //then scrollView.scrollEnabled must be false in class GameViewController. 

Antwort

0

Versuchen Sie, neue Klasse mit diesem Code

class Data { 
struct gameScene { 
    static var ButtonPressed:Bool = false 
} 
} 

Dann einige Änderungen in Ihrem Code machen

var gameScene: GameScene! 

    override func viewDidAppear(animated: Bool) { 
     gameScene = GameScene() 
     } 

     @IBAction func butPressed(sender: UIButton) { 
     Data.gameScene.buttonPressed = true 
    println("Pressed from GameViewController") 
} 

    override func update(currentTime: CFTimeInterval) { 

     if (Data.gameScene.buttonPressed == true) { 

       println("Pressed from GameScene") 

       Data.gameScene.buttonPressed = false 
      } 
      } 

Sie auf diese Variable aufrufen überall in Ihrem Projekt mit diesem Code

    Data.gameScene.buttonPressed 
Verwandte Themen