¿Construyendo un juego de tablero de ajedrez en Sprite Kit usando Swift?

En Sprite Kit usando Swift, estoy tratando de build un tablero de ajedrez (en realidad, una tabla de ajedrez / cuadrícula de baldosas). Entonces, en general, ¿cómo debo crear un tablero cuadriculado?

He hecho muchas investigaciones y he estudiado algunos ejemplos del concepto de alto nivel de tableros tipo ajedrez a través de matrices multidimensionales, pero aún no explica cómo VISUALMENTE lo representan en Sprite Kit y, lo que es más importante, cómo hacerlo mapear la representación visual a la representación de letras + numbers en una matriz multidimensional …

¿Alguna idea?

Si alguien pudiera responder al less un punto / parte en la pregunta anterior, ¡sería muy apreciado! Muchas gracias de antemano!

Una forma de dibujar un tablero de ajedrez en SpriteKit es agregar nodos de sprite blancos y negros alternativos en las ubicaciones adecuadas. Aquí hay un ejemplo de cómo hacerlo.

override func didMoveToView(view: SKView) { self.scaleMode = .ResizeFill // Draw the board drawBoard() // Add a game piece to the board if let square = squareWithName("b7") { let gamePiece = SKSpriteNode(imageNamed: "Spaceship") gamePiece.size = CGSizeMake(24, 24) square.addChild(gamePiece) } if let square = squareWithName("e3") { let gamePiece = SKSpriteNode(imageNamed: "Spaceship") gamePiece.size = CGSizeMake(24, 24) square.addChild(gamePiece) } } 

Este método dibuja el tablero de ajedrez.

  func drawBoard() { // Board parameters let numRows = 8 let numCols = 8 let squareSize = CGSizeMake(32, 32) let xOffset:CGFloat = 50 let yOffset:CGFloat = 50 // Column characters let alphas:String = "abcdefgh" // Used to alternate between white and black squares var toggle:Bool = false for row in 0...numRows-1 { for col in 0...numCols-1 { // Letter for this column let colChar = Array(alphas)[col] // Determine the color of square let color = toggle ? SKColor.whiteColor() : SKColor.blackColor() let square = SKSpriteNode(color: color, size: squareSize) square.position = CGPointMake(CGFloat(col) * squareSize.width + xOffset, CGFloat(row) * squareSize.height + yOffset) // Set sprite's name (eg, a8, c5, d1) square.name = "\(colChar)\(8-row)" self.addChild(square) toggle = !toggle } toggle = !toggle } } 

Este método devuelve el nodo cuadrado con el nombre especificado

  func squareWithName(name:String) -> SKSpriteNode? { let square:SKSpriteNode? = self.childNodeWithName(name) as SKSpriteNode? return square }