Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SKTileDefinition法线纹理未在模拟器外部正确渲染_Ios_Swift_Sprite Kit - Fatal编程技术网

Ios SKTileDefinition法线纹理未在模拟器外部正确渲染

Ios SKTileDefinition法线纹理未在模拟器外部正确渲染,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我目前正在用Spritekit制作一个游戏,努力想弄明白为什么在设备上渲染时,我的标准化纹理没有被正确应用,而在模拟器中它们似乎很好 以下是将普通纹理添加到平铺定义的代码,其中包括: self.wallTileMap = self.scene?.childNode(withName: "Walls") as? SKTileMapNode let textureAtlas = SKTextureAtlas(named: "Wall Normal Maps") if let

我目前正在用Spritekit制作一个游戏,努力想弄明白为什么在设备上渲染时,我的标准化纹理没有被正确应用,而在模拟器中它们似乎很好

以下是将普通纹理添加到平铺定义的代码,其中包括:

    self.wallTileMap = self.scene?.childNode(withName: "Walls") as? SKTileMapNode
    let textureAtlas = SKTextureAtlas(named: "Wall Normal Maps")
    if let tileMap = self.wallTileMap {
        let startingLocation:CGPoint = tileMap.position
        let tileSize = tileMap.tileSize
        let halfWidth = CGFloat(tileMap.numberOfColumns) / 2.0 * tileSize.width
        let halfHeight = CGFloat(tileMap.numberOfRows) / 2.0 * tileSize.height
        let rows = tileMap.numberOfRows
        let columns = tileMap.numberOfColumns
        for column in 0..<columns {
            for row in 0..<rows {
                let x = CGFloat(column) * tileSize.width - halfWidth + (tileSize.width / 2)
                let y = CGFloat(row) * tileSize.height - halfHeight + (tileSize.height / 2)
                if let tileDefinition = tileMap.tileDefinition(atColumn: column, row: row) {
                    if let name = tileDefinition.name  {
                        let normalTexture = textureAtlas.textureNamed("\(name)_n")
                        tileDefinition.normalTextures = [normalTexture]
                    }
                    if (tileDefinition.userData?["shouldKill"] as? Bool ?? false) {
                        let newNode = SKShapeNode(rectOf: tileDefinition.size)
                        newNode.position = CGPoint(x: x, y: y)
                        newNode.isHidden = true
                        newNode.physicsBody = SKPhysicsBody(texture: tileDefinition.textures[0], size: tileDefinition.size)
                        newNode.physicsBody?.isDynamic = false
                        newNode.physicsBody?.affectedByGravity = false
                        newNode.physicsBody?.categoryBitMask = CollisionTypes.wall.rawValue
                        newNode.physicsBody?.collisionBitMask = CollisionTypes.dynamicComponents.rawValue
                        newNode.physicsBody?.contactTestBitMask = CollisionTypes.dynamicComponents.rawValue
                        self.addChild(newNode)
                        newNode.position = CGPoint(x: newNode.position.x + startingLocation.x, y: newNode.position.y + startingLocation.y)
                    }
                }
            }
        }
    }
self.wallTileMap=self.scene?.childNode(名称:“Walls”)作为?SKTileMapNode
设textureAtlas=SKTextureAtlas(命名为:“墙法线贴图”)
如果让tileMap=self.wallTileMap{
让我们开始位置:CGPoint=tileMap.position
让tileSize=tileMap.tileSize
设halfWidth=CGFloat(tileMap.numberOfColumns)/2.0*tileSize.width
让半高=CGFloat(tileMap.numberOfRows)/2.0*tileSize.height
设rows=tileMap.numberOfRows
let columns=tileMap.numberOfColumns

对于0中的专栏,..SKTileMapNodes是非常有缺陷的。我有第一手的经验,在整个功能中有无数的缺陷。这感觉像是一个功能发布得太早,再也没有被开发过。我注意到SpriteKit在过去几年中没有太多的工作,这有点令人担忧宁。我想知道我是否最好切换到另一个引擎?平铺映射是我计划严重依赖的东西。。。