Я делаю трехмерную пошаговую игру для Mac OS с использованием Swift.У меня уже есть 3D часть подземелья - она случайным образом генерирует подземелье и сохраняет каждый квадрат подземелья в виде строки в массивах (например, мошенник использует текстовые символы для представления стен и т. Д.)
Я хочуСоздание 2D-карты подземелья с использованием SpriteKit и SKTileMap кажется логичным способом сделать это, но у меня возникли проблемы с кодом.
в качестве учебного упражнения я создал новый проект и заполнил окно Customпросмотр, который я выбрал для использования класса SKView и попытался сделать карту плитки шахматной доски программно, но я просто отображаю один цвет.
вот код
@IBOutlet var spriteView: SKView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let scene = SKScene()
let greenTexture = SKTexture(imageNamed: "green")
let greenDefinition = SKTileDefinition(texture: greenTexture)
let greenGroup = SKTileGroup(tileDefinition: greenDefinition)
let redTexture = SKTexture(imageNamed: "red")
let redDefinition = SKTileDefinition(texture: redTexture)
let redGroup = SKTileGroup(tileDefinition: redDefinition)
let tileSet = SKTileSet(tileGroups: [greenGroup, redGroup], tileSetType: .grid)
let backgroundGroup = redGroup
let tileMap = SKTileMapNode(tileSet: tileSet, columns: 5, rows: 5, tileSize: CGSize(width: 10, height: 10), fillWith: backgroundGroup)
tileMap.setTileGroup(greenGroup, forColumn: 0, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 0, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 0, row: 4)
tileMap.setTileGroup(greenGroup, forColumn: 1, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 1, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 1, row: 4)
tileMap.setTileGroup(greenGroup, forColumn: 2, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 2, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 2, row: 4)
tileMap.setTileGroup(greenGroup, forColumn: 3, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 3, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 3, row: 4)
tileMap.setTileGroup(greenGroup, forColumn: 4, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 4, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 4, row: 4)
tileMap.setTileGroup(greenGroup, forColumn: 5, row: 0)
tileMap.setTileGroup(greenGroup, forColumn: 5, row: 2)
tileMap.setTileGroup(greenGroup, forColumn: 5, row: 4)
scene.addChild(tileMap)
spriteView.presentScene(scene)
}
без
tileMap.setTileGroup(greenGroup, forColumn: 0, row: 0)
вся карта красная, но с ней вся карта зеленая.
что нужно изменить, чтобы она стала красно-зеленой шахматной доской, подобной карте тайлов?