我遇到了一個很大的問題,我的應用程序。當我轉換到新的場景時,我的MainMenu場景不會釋放。SKScene沒有定義
//GameViewController
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = MainMenu(fileNamed: "MainMenu") {
scene.scaleMode = .aspectFill
view.presentScene(scene)
}
}
我輕點按鈕,進入一個新的SKScene其具有下面的代碼:
let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = LuckyScene(fileNamed: "LuckyScene")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)
它openes我的幸運場景,但它不調用從主要的DEINIT功能菜單。
之後,如果我做同樣的事情,從幸運的場景,比如我想離開現場,回到主菜單,它得到釋放留下我一個巨大的問題現場。
let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = MainMenu(fileNamed: "MainMenu")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)
如果用戶輸入Lucky Scene並離開它,則會創建一個新的MainMenu場景。
爲什麼我的MainMenu的場景是沒有得到我的時候過渡到一個新的釋放?
你有一個引用你的MainMenu的地方...找到那個屬性並使其'weak' – Fluidity
https://developer.apple.com/庫/內容/文檔/斯威夫特/概念/ Swift_Programming_Language/AutomaticReferenceCounting.html – Fluidity