【发布时间】:2015-12-02 19:13:03
【问题描述】:
我创建了一个简单的 iPhone 游戏,用户在输掉游戏后会被重定向到另一个视图,并且可以单击“重新开始”再次玩游戏。
当游戏开始时,它运行平稳并且大约有 60 fps,当他失去游戏并重新开始时,问题就开始了。
GameViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
/*
... some code ...
*/
scene.gameOverFunc = gameOverScreen
skView.presentScene(scene)
}
}
func gameOverScreen(){
let skView = self.view as! SKView
skView.presentScene(nil)
dispatch_async(dispatch_get_main_queue()){
self.performSegueWithIdentifier("gmov", sender: self)
}
}
GameScene.swift
func gameOver(){
/*
... some code ...
*/
if let gmovFunc = gameOverFunc {
gmovFunc()
}
}
override func update(currentTime: CFTimeInterval) {
gameOver()
}
我设置了从“游戏结束”屏幕到 GameViewController 的转场。 每次新游戏后游戏性能都会下降。 在离开“游戏结束”屏幕之前,我是否必须销毁 SKScene 的实例或其他东西?
【问题讨论】:
-
这对你来说可能很有趣:stackoverflow.com/questions/34052659/…
标签: ios iphone sprite-kit skscene