更改GameViewController(SpriteKit Swift)中变量的值
问题描述:
我在类GameViewController中创建了一个UIScrollView,其中Subviews是场景。当用户进入特定场景并按下特定按钮时,ScrollView必须停止滚动。
我该怎么做?代码更改GameViewController(SpriteKit Swift)中变量的值
例子:
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.
答
尽量让新类与此代码
class Data {
struct gameScene {
static var ButtonPressed:Bool = false
}
}
然后,让你的代码的一些变化
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
}
}
可以调用这个变量使用此代码在您项目中的任何地方
Data.gameScene.buttonPressed