标签: sktilemapnode

以编程方式在Swift中创建SKTileMapNode

有没有人知道如何使用Swift以编程方式创建SKTileMapNode?(注意:我不想使用编辑器执行此操作,我只想以编程方式实现此操作)

我尝试了以下但不渲染我的瓷砖地图

let bgTexture = SKTexture(imageNamed: "background")
let bgDefinition = SKTileDefinition(texture: bgTexture, size: bgTexture.size())
let bgGroup = SKTileGroup(tileDefinition: bgDefinition)
let tileSet = SKTileSet(tileGroups: [bgGroup])
let bgNode = SKTileMapNode(tileSet: tileSet, columns: 5, rows: 5, tileSize: bgTexture.size())
bgNode.position = CGPoint(x: self.frame.size.width / 2, y: self.frame.size.height / 2)
bgNode.setScale(1)
self.addChild(bgNode)
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢

sprite-kit swift3 ios10 sktilemapnode

5
推荐指数
2
解决办法
2776
查看次数

在Xcode 8中为SKTileMapNode的tile提供物理

我正在学习Swift,作为一个项目,我正在开发一个类似于超级马里奥的基于平铺的2D游戏,我的角色会走路并跳上瓷砖.

最新版本的Xcode和Sprite Kit可以直接在Xcode中创建Tile Map.

在新的Xcode和Sprite工具包的演示中,这个人展示了一个类似于我正在做的游戏.

https://developer.apple.com/videos/play/wwdc2016/610/ (大约20分钟).

他提到我给Tiles用户数据属性,并且在代码中我们搜索具有该用户数据的所有tile并给它们一些物理属性,以便角色可以碰撞或与它们交互(在我的情况下,我的角色不会掉落)或者穿过瓷砖).

所以基本上,这个想法是给那些瓦片一个物理体,但这不能用SKphysicsBody来完成.所以必须有另一种方式,因为我是Swift的新手,我很想念它.

如果有人知道这一点,我将非常感谢帮助.

如果问题不清楚,请告诉我,因为我也是堆栈溢出的新手.

xcode sprite-kit skphysicsbody swift sktilemapnode

5
推荐指数
2
解决办法
1990
查看次数

SKTileMap从GKNoiseMap获取值

我一直在GKNoiseMaps上关注Apple Docs,我设法得到一个图像产生,它看起来非常好

在这里使用此代码

class GameScene: SKScene {


class Noise: GKNoise {
    var NoiseSource = GKPerlinNoiseSource(frequency: 0.05, octaveCount: 3, persistence: 1, lacunarity: 1, seed: Int32(arc4random_uniform(UInt32(500 - 1))))
    override init(_ noiseSource: GKNoiseSource, gradientColors: [NSNumber : UIColor]) {
        super.init(NoiseSource, gradientColors: [ (+1.0 as NSNumber): UIColor.red, (-1.0 as NSNumber) : UIColor.black])
    }
}
let noise = Noise()
let Vector1 = vector_double2(1.0, 1.0)

override func didMove(to view: SKView) {
    let NoiseMap = GKNoiseMap(noise, size: vector_double2(300.0, 300.0),
                              origin: vector_double2(0.0, 0.0),
                              sampleCount: vector_int2(100),
                              seamless: true) …
Run Code Online (Sandbox Code Playgroud)

perlin-noise ios sprite-kit swift sktilemapnode

4
推荐指数
1
解决办法
419
查看次数

以编程方式创建SpriteKit SKTileMap的正确方法是什么?

我正在为我正在制作的iOS游戏创建一个平铺地图.该地图是岛屿的俯视图.大多数瓷砖都是水,但有些是土地.水瓦被重新用于创造水,但是没有一块地砖被使用不止一次,因为所有的地砖都是独一无二的.我查看了SKTileDefinition,SKTileGroup,SKTileGroupRule,SKTileSet和SKTileMap的文档,这就是我提出的:

func createTileMap() {
    let waterTile = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-1"))
    let waterTileGroup = SKTileGroup(tileDefinition: waterTile)

    let landTile64 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-64"))
    let landTile63 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-63"))
    let landTile56 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-56"))
    let landTile55 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-55"))
    let landTile54 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-54"))
    let landTile53 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-53"))
    let landTile48 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-48"))
    let landTile47 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-47"))
    let landTile46 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-46"))
    let landTile45 = SKTileDefinition(texture: SKTexture(imageNamed: "map-tile-45"))
    let landTile44 = SKTileDefinition(texture: SKTexture(imageNamed: …
Run Code Online (Sandbox Code Playgroud)

ios sprite-kit sktilemapnode

4
推荐指数
1
解决办法
1665
查看次数

无法编辑平铺地图Xcode 8 GM

我不能为我的生活弄清楚如何在Xcode 8 GM中编辑我的瓷砖地图.双击不执行任何操作,并在编辑器下拉列表中"编辑平铺图"显示为灰色.

在此输入图像描述

我所做的就是将瓷砖地图拖放到场景中,甚至创建一个新项目并重新开始并没有帮助.我见过的每一个视频/教程都刚刚显示添加它并双击编辑......有什么东西真的很简单吗?

ios sprite-kit xcode8 sktilemapnode

3
推荐指数
1
解决办法
473
查看次数

使用GameplayKit在Tilemap上寻路

我正在使用SKTilemapNode。如何在GameplayKit中正确使用寻路?

一些信息:墙壁都是瓷砖,没有瓷砖是“路”

path-finding sprite-kit tiled swift sktilemapnode

0
推荐指数
1
解决办法
1117
查看次数