swift - SKTileMapNode 未加载到正确的大小
问题描述
对于我目前正在进行的一个项目,我有两个 SKTileMapNodes 堆叠在一起。它们在行数、列数以及图块大小上有所不同。但是,它应该相等,以便它们具有相同的整体宽度和高度。
问题是尽管行、列和图块大小正确,但其中一个图块图的大小不正确。
第一个 SKTilMapNode(正确大小)
class Map:SKTileMapNode {
func initMap() {
name = "Map"
tileSet = SKTileSet(named: "tileSet")!
numberOfColumns = 32
numberOfRows = 32
tileSize = CGSize(width: 32, height: 32)
position = CGPoint(x: 0, y: 0)
anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.fill(with: self.tileSet.tileGroups[4])
}
}
第二个 SKTileMapNode(大小不正确)
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)
}
}
结果
解决方案
推荐阅读
- c - Linux Kernel 为模块生成 compile-commands.json
- sas - 如何将 SAS 格式字典读入 SPSS?
- java - 如何在 recyclerview 中检测到何时结束?
- sql - Kronos 数据库上的 SQL 查询
- ios - 如何在 xcode/swift 中运行 UITableView 函数之前从 firebase 加载所有数据
- r - R中数据帧的条件子集的平均值以存储在新数据帧中
- java - 如何使 AnchorPane 在另一个 AnchorPane 内变圆
- python - 在相机上实现训练模型
- bash - 评估字符串中的命令时出现问题
- reactjs - 反应本机移动应用程序打印到打印机兄弟 qr810w