所以我在spritekit上有一个有两个场景的游戏。因此,当我启动应用程序时,我会转到我的第一个,点击播放按钮并转移到我的gamecene。我第一次这样做有一个很大的滞后。但是当我从我的gamecene转回firstscene然后再回到gamescene时,滞后消失了,它完美无缺。我不认为这与我在场景之间的sktransition有关,而是与内存负载有关。也许系统需要打开更多的自由空间,因为当我在gamescene中只放置一个节点时,过渡到gamescene doest会有所滞后。
P.S过渡到firstcene没有滞后。
这是我的游戏视图控制器中的内容。
(开放是我的第一个名字)
import UIKit
import SpriteKit
import GoogleMobileAds
import GameKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = Opening(fileNamed:"Opening") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = false
skView.showsNodeCount = false
skView.showsPhysics = false
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .aspectFill
skView.presentScene(scene)
}
}
override var shouldAutorotate : Bool {
return true
}
override var supportedInterfaceOrientations : UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone {
return .allButUpsideDown
} else {
return .all
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override var prefersStatusBarHidden : Bool {
return true
}
}