Manter o jogo em pausa após o aplicativo se tornar ativo?
É o meu primeiro post neste fórum e peço desculpas antecipadamente se estou fazendo algo que não está no caminho certo! :)
Estou criando um jogo para iPhone com o Swift & SpriteKit e atualmente estou enfrentando um problema. Quando meu aplicativo está em segundo plano, ele chama uma pausa na função (veja abaixo), mas é automaticamente interrompido quando o jogo é reiniciado.
Eu vi esse post muito interessante:Spritekit - Mantenha o jogo em pausa quando didBecomeActive (eComo manter a cena do SpriteKit em pausa quando o aplicativo se torna ativo?) mas estou preso.
Não sei como implementar a nova classe SKView, pois meu modo de exibição está configurado conforme mostrado no código abaixo ...
É assim que meu aplicativo funciona:
class GameViewController: UIViewController {
var scene: GameScene!
override func viewDidLoad() {
super.viewDidLoad()
// Configure the View
let SkView = view as! SKView
SkView.multipleTouchEnabled = true
// Create and configure the scene
scene = GameScene(size: SkView.bounds.size)
scene.scaleMode = .AspectFill
// Present the scene
SkView.presentScene(scene)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("PauseWhenBackGround:"), name:"PauseWhenBackGround", object: nil)
}
func PauseWhenBackGround(notification : NSNotification) {
if scene.Pausing == false{
scene.Pause()
}
}
Eu tentei o seguinte:
Eu adicionei uma nova classe que é:
class GameSceneView : SKView {
func CBApplicationDidBecomeActive() {
}
}
Então, tentei definir minha visão comolet SkView = view as! GameSceneView
mas recebi um erro dizendo que não posso converter a exibição em MyProjectName.GameSceneView () ... Também tentei o seguinte:let SkView! = GameSceneView() as GameSceneView!
mas acabo com uma cena de fundo cinza ...
Alguém sabe como eu posso implementar a nova classe SKView para impedir que o bug CBApplicationDidBecomeActive () ocorra, para que o jogo não seja interrompido ao se tornar ativo?
Muito obrigado antecipadamente ! :)