Swift 如何在SpriteKit中将一个磁贴更改为另一个(或空白)?

Swift 如何在SpriteKit中将一个磁贴更改为另一个(或空白)?,swift,sprite-kit,sktilemapnode,Swift,Sprite Kit,Sktilemapnode,因此,我尝试在Xcode 8.3.3中使用一个磁贴贴图节点编写一个国际象棋应用程序,其中8x8磁贴贴图包含每个磁贴的一块或一个空格(在GameSecene.sks中制作,不使用代码)。我想做的是换一块瓷砖。例如,如果有人移动一个棋子,我想将起始空格从一个棋子更改为一个空格,然后将结束方块从一个空格更改为一个棋子。tile组位于一个名为pieces.sks的文件中,我在file->New->file->SpriteKit tile Set中创建了该文件。 以下是我到目前为止在GameSecene.

因此,我尝试在Xcode 8.3.3中使用一个磁贴贴图节点编写一个国际象棋应用程序,其中8x8磁贴贴图包含每个磁贴的一块或一个空格(在GameSecene.sks中制作,不使用代码)。我想做的是换一块瓷砖。例如,如果有人移动一个棋子,我想将起始空格从一个棋子更改为一个空格,然后将结束方块从一个空格更改为一个棋子。tile组位于一个名为pieces.sks的文件中,我在file->New->file->SpriteKit tile Set中创建了该文件。 以下是我到目前为止在GameSecene.swift(我拿出了与问题无关的东西)中的内容,目标是在运行代码时将一个正方形更改为白色:

class GameScene: SKScene {

    var pieces : SKTileMapNode?

    override func didMove(to view: SKView) {

        self.pieces = self.childNode(withName: "//pieces") as? SKTileMapNode

        if let pieces = self.pieces {
            pieces.setTileGroup(backgroundGroup*, forColumn: 4, row: 4) //arbitrary square I'm using for testing
        }
    }    
}
因此,pieces.setTileGroup让我感到困惑的原因有几个,比如“forColumn”而不是简单的“column”。我从苹果开发者文档中得到了它,但我不确定这是否是我想要做的正确的事情。backgroundGroup(代码中的星号)参数是一个占位符。我不知道如何在那里填补一个白人主教的空缺。 谢谢

我找到了一个答案,这个答案对于平铺贴图来说非常有用

我补充说:

let tileSet = SKTileSet(named: "Pieces")

pieces.setTileGroup(tileSet?.tileGroups[0], forColumn: 4, row: 4)
原点位于左下角,标准笛卡尔平面的第一象限也是如此