快速创建井字游戏网格?

时间:2018-08-12 15:35:07

标签: ios swift for-loop sprite-kit

您好,我试图快速制作Tic Tac Toe,在设置网格时,我遇到了SIGBRT错误,并显示以下代码:

func setUp() {
    for i in -1...1 {
        let XO = SKSpriteNode()
        XO.size = CGSize(width: self.frame.size.width / 3 - 30, height: self.frame.size.width / 3 - 30)
        let W = XO.frame.size.width / 2 - 5
        let y = W * CGFloat(i)
        for j in -1...1 {
                let x = W * CGFloat(j)
                XO.name = "Blank"
                XO.position = CGPoint(x: self.frame.size.width / 2 + x, y: self.frame.size.height / 2 + y)
                XO.texture = SKTexture(imageNamed: "X")
                self.addChild(XO) // error traced back to here
            }
    }
}

有人知道我该怎么解决吗?

1 个答案:

答案 0 :(得分:0)

您在说:

func setUp() {
    for i in -1...1 {
        let XO = SKSpriteNode()
        for j in -1...1 {
            self.addChild(XO) // error traced back to here
        }
    }
}

因此,第一次通过j循环您addChild(XO),然后第二次通过j循环,您再次尝试addChild(XO) -完全相同的XO。您无法添加已经添加的子项,因此请添加kaboom。