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
的方法
我正在 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