5

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

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

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

4

2 回答 2

7

所有的 SKNode 都有一个方法叫做calculateAccumulatedFrame

于 2017-07-05T12:20:43.590 回答
0

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

节点的“大小”属性有效!例如:

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)
于 2017-07-05T06:51:46.973 回答