【发布时间】:2015-09-21 00:47:16
【问题描述】:
一旦我的游戏完成,我将在我的 GameViewController 中运行 self.performSegueWithIdentifier("goToGameOver", sender: nil),它通过
override func viewDidLoad()
{
super.viewDidLoad()
let scene = GameScene(size: view.bounds.size)
let skView = view as! SKView
skView.showsFPS = false
skView.showsNodeCount = false
skView.ignoresSiblingOrder = true
scene.scaleMode = .ResizeFill
scene.size = skView.bounds.size
skView.presentScene(scene)
}
然后,在我的 GameOverViewController 中,当用户单击我的 playAgainButton 时,它会运行 self.dismissViewControllerAnimated(true, completion: nil)
但是它会回到我的 GameViewController/GameScene,它不会重新加载并且处于与它离开时相同的状态...我如何通过我的 ViewController 的 SKView “重新初始化”或重新呈现 GameScene?
这种问题也出现在我的商店中,当用户单击侧箭头时,它会“模态”移动到不同的 ViewController 并购买我的游戏货币,但是当他们单击我的后退箭头时,我会运行 self.dismissViewControllerAnimated(true, completion: nil) The诸如与 IBOutlet 链接的 UILabel 之类的元素没有更新新的游戏内货币数量……如果我没记错的话,那是因为视图控制器/场景没有重新加载。我将如何解决这两个问题?
【问题讨论】:
标签: ios swift uiviewcontroller sprite-kit skscene