我试图在我的SpriteKit游戏中从节点创建一系列障碍。我创建了一个新的项目来尝试解决这个错误,但发现它仍然在发生。
这是新项目中的代码:

import SpriteKit

class GameScene: SKScene {
    override func didMoveToView(view: SKView) {
        let spriteNode = SKSpriteNode(color: UIColor.redColor(), size: CGSize(width: 100, height: 100))
        spriteNode.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
        self.addChild(spriteNode)

        let nodes = self.children

        let obstacles = SKNode.obstaclesFromNodeBounds(nodes)
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    }

    override func update(currentTime: CFTimeInterval) {
    }
}

我已经检查过了,nodes不是零。它包含spriteNode
它在let obstacles行上崩溃,错误如下:
由于意外异常而终止应用程序
“NSInvalidArgumentException”,原因:'***-[\u NSPlaceholderArray
initWithObjects:count:]:尝试从对象[0]插入nil对象
我到处找了找,但找不到这件事的任何线索。
有人知道问题出在哪里吗?

最佳答案

问题是我没有导入“GameplayKit”

10-08 12:13