删除Gamescene.sks文件会将CPU提高到设备的25%

时间:2017-01-12 23:41:34

标签: swift sprite-kit

我刚刚创建了一个全新的Xcode游戏项目。我删除了Gamescene.sks文件。跑它和CPU立即达到25-30%。我做了另一个Xcode项目,看看我是否可以复制它。在删除文件之前将其删除并且cpu基本上是0%,但是当我删除文件并再次运行它时,cpu跳到了相同的高数字。我的目标是子类化skscene并在没有{{1}}文件的情况下使用它。有人可以解释为什么会这样吗?

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负载。