我刚刚创建了一个全新的Xcode游戏项目。我删除了Gamescene.sks
文件。跑它和CPU立即达到25-30%。我做了另一个Xcode项目,看看我是否可以复制它。在删除文件之前将其删除并且cpu基本上是0%,但是当我删除文件并再次运行它时,cpu跳到了相同的高数字。我的目标是子类化skscene并在没有{{1}}文件的情况下使用它。有人可以解释为什么会这样吗?
答案 0 :(得分:3)
我能够复制此行为只是删除.sks文件。 问题是GameViewController在第一次加载时正在寻找该文件,如下所示:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "GameScene") { <--------------!!
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
所以你需要以另一种方式初始化它。举个例子,你可以像这样初始化一个空场景:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
let scene = SKScene(size: CGSize(width: 1000, height: 1000))
scene.scaleMode = .aspectFill
view.presentScene(scene)
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
你会看到1%的CPU负载。