Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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
Swift SKTileMapNode未加载到正确的大小_Swift_Sprite Kit_Sktilemapnode - Fatal编程技术网

Swift SKTileMapNode未加载到正确的大小

Swift SKTileMapNode未加载到正确的大小,swift,sprite-kit,sktilemapnode,Swift,Sprite Kit,Sktilemapnode,对于我目前正在进行的一个项目,我有两个SktileMapNode堆叠在一起。它们在行数、列数以及平铺大小上有所不同。但是,它应该相等,以便它们具有相同的总宽度和高度 问题是,尽管行、列和平铺大小正确,但其中一个平铺贴图的大小不正确 第一个SKTilMapNode(正确大小) 第二个SKTileMapNode(大小不正确) 在游戏场景中初始化 class GameScene: SKScene { var map:Map = Map() var paintLayer:PaintLayer

对于我目前正在进行的一个项目,我有两个SktileMapNode堆叠在一起。它们在行数、列数以及平铺大小上有所不同。但是,它应该相等,以便它们具有相同的总宽度和高度

问题是,尽管行、列和平铺大小正确,但其中一个平铺贴图的大小不正确

第一个SKTilMapNode(正确大小)

第二个SKTileMapNode(大小不正确)

在游戏场景中初始化

class GameScene: SKScene {

  var map:Map = Map()
  var paintLayer:PaintLayer = PaintLayer()
  var player:Player = Player(imageNamed: "player")

  override func didMove(to view: SKView) {

      let camera:SKCameraNode = SKCameraNode()
      self.camera = camera
      self.addChild(camera)

      map.initMap()
      self.addChild(map)

      paintLayer.initPaintLayer()
      self.addChild(paintLayer)

      player.initPlayer()
      self.addChild(player)

  }

}
结果


您是否检查了瓷砖集是否准确?是的,瓷砖集是正确的
class PaintLayer:SKTileMapNode {

    func initPaintLayer() {

        name = "PaintLayer"

        tileSet = SKTileSet(named: "tileSet")!
        numberOfColumns = 32*4
        numberOfRows = 32*4
        tileSize = CGSize(width: 32/4, height: 32/4)
        position = CGPoint(x: 0, y: 0)
        anchorPoint = CGPoint(x: 0.5, y: 0.5)

        self.fill(with: self.tileSet.tileGroups[1])

    }

}
class GameScene: SKScene {

  var map:Map = Map()
  var paintLayer:PaintLayer = PaintLayer()
  var player:Player = Player(imageNamed: "player")

  override func didMove(to view: SKView) {

      let camera:SKCameraNode = SKCameraNode()
      self.camera = camera
      self.addChild(camera)

      map.initMap()
      self.addChild(map)

      paintLayer.initPaintLayer()
      self.addChild(paintLayer)

      player.initPlayer()
      self.addChild(player)

  }

}