首页 > 解决方案 > 快速创建井字游戏网格?

问题描述

嗨,我正在尝试快速制作井字游戏,并且在设置网格时,我遇到了以下代码的 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
            }
    }
}

有没有人有任何想法我可以解决它?

标签: iosswiftfor-loopsprite-kit

解决方案


你是说:

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。


推荐阅读