SpriteKit - 获取 SKNode 的绝对大小

SpriteKit - get absolute size of SKNode

我正在 Swift 和 SpriteKit 中编写一个小游戏,它由一个盒子 (4 * 8) 组成。

Scene (1024 * 768)
    boxes (964 * 452)
        row1 (932 * 25)
            col1 (24 * 116)
            col2 (24 * 116)
            col3 (24 * 116)
            ...
        row2...

我想给他们一个纹理,但我不知道图像文件应该有多大。盒子节点的大小似乎是相对于其父节点的。如何获得 SKNode 的绝对大小,即节点在屏幕上的大小?

任何纹理都将被缩放以填充节点。只要确保纹理和节点的纵横比相同(例如,使它们都是正方形)。

节点的"size"属性有效!例如:

let test = SKSpriteNode(color: .clear, size: CGSize(width: 100.0, height: 100.0))
print(test.size)
test.setScale(2.0)
print(test.size)

正确打印:

(100.0, 100.0)
(200.0, 200.0)

所有 SKNode 都有一个名为 calculateAccumulatedFrame

的方法