У меня есть следующий код для генерации шума с использованием нового GameplayKit
GKNoise
. Я не уверен, как это использовать с SKTileMapNode
. Кто-нибудь пробовал это? В настоящий момент шум применяется к каждой плите, но не к общему TileMap
. Есть ли способ использовать созданный шум для всей карты?Создание процедурной карты - SpriteKit и GameplayKit
let noise: GKNoise = GKNoise(noiseSource: GKPerlinNoiseSource())
let noiseMap: GKNoiseMap = GKNoiseMap(noise: noise)
let texture: SKTexture = SKTexture(noiseMap: noiseMap)
let tileDef = SKTileDefinition(texture: texture)
let tileGroup = SKTileGroup(tileDefinition: tileDef)
let tileSet = SKTileSet(tileGroups: [tileGroup])
// Create a tile map
let tileSize = CGSize(width: 32.0, height: 32.0)
let tileMap = SKTileMapNode(tileSet: tileSet, columns: 16, rows: 16, tileSize: tileSize)
// Fill the entire map with a tile group
tileMap.fill(with: tileGroup)
self.addChild(tileMap)
Что вы пытаетесь сделать точно? –
@Mr_Pouet Я пытаюсь создать ландшафт. У 'tileSet' есть набор плиток на выбор, и я ожидаю, что функция шума создаст шаблон плитки для меня. – Deepak