gpt4 book ai didi

ios - 程序 map 生成 - SpriteKit 和 GameplayKit

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:47 25 4
gpt4 key购买 nike

我有以下代码使用新的 GameplayKitGKNoise 生成噪音。我不确定如何将它与 SKTileMapNode 一起使用。有人试过这个吗?目前,噪声应用于每个图 block ,但未应用于整个 TileMap。有没有办法将生成的噪声用于整个 map ?

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)

最佳答案

GKNoise 返回 [-1.0,1.0] 范围内的噪声。

您需要以某种有意义的方式将其映射到您的游戏中。一个简单的例子就是说 [-1.0,0.0] 之间的一切都是水,而 (0.0,1.0] 之间的一切都是陆地。

一旦您决定了这个映射是什么,只需使用 GKNoiseMap 上的 getValue() 为您要填充的每个图 block 采样一次,然后使用您的规则来决定使用哪个图 block 。

关于ios - 程序 map 生成 - SpriteKit 和 GameplayKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com