我有一个包括SpriteKit框架的Swift项目。当我在没有任何东西的情况下运行程序时,屏幕是黑色的,节点计数器是1。Main.storyboard完全为白色,其中的类设置为SKView。节点计数器是否出错?不是应该是0吗?为什么背景是黑色而不是白色?
可能是一些必要的代码,错误是:

class GameViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let scene = GameScene() // class GameScene is a subclass of SKScene

    let skView = self.view as! SKView
    skView.showsFPS = true
    skView.showsNodeCount = true

    /* Sprite Kit applies additional optimizations to improve rendering performance */
    skView.ignoresSiblingOrder = false

    /* Set the scale mode to scale to fit the window */
    scene.scaleMode = .AspectFill
    scene.size = skView.bounds.size
    scene.anchorPoint = CGPointMake(0,0);
    skView.presentScene(scene)
}

最佳答案

节点计数器正确。首先,使用这行代码为skView对象设置node couter:

skView.showsNodeCount = true

然后用这一行将对象添加到此skView
skView.presentScene(scene)

此操作将节点计数器设置为1。您的场景是skView上的单个节点
关于黑屏:这是场景的默认背景色,您可以使用以下代码更改它,例如:
scene.backgroundColor = UIColor.redColor()

你的场景会是红色的

关于swift - SpriteKit:白色背景为SKScene,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33597833/

10-12 14:44