【发布时间】:2018-08-26 19:25:53
【问题描述】:
使用 SpriteKit,我正在尝试创建一个矩形作为背景,第二个矩形是背景大小的 25%,并将其放置在背景的底部。 (所以下面的 25% 是蓝色,上面的 75% 是深灰色)
这是我的设置:
screenWidth = size.width //312
screenHeight = size.height //390
func createSky(){
let sky = SKSpriteNode(color: SKColor.darkGray, size: CGSize(width: screenWidth, height: screenHeight))
print("Sky: ", sky.frame)
addChild(sky)
}
func createGround(){
let ground = SKShapeNode.init(rectOf: CGSize(width: screenWidth, height: screenHeight / 4))
ground.fillColor = SKColor.blue
print("Ground: ", ground.frame )
sky.addChild(ground)
}
出于某种原因,ground.frame 正在打印Ground: (-157.35, -50.1, 314.7, 100.2)。为什么是这样?最后两位不应该是312、97.5吗?
我尝试了各种 .positions 和 .anchorPositions,但我仍然无法让 SKShapeNode 正确地位于 SKSpriteNode 中。
最终形状会更复杂,这就是为什么我不使用 Sprite 作为第二个。我错过了什么?
【问题讨论】:
-
你确定屏幕宽度是 312 吗?这是一个奇怪的尺寸
标签: sprite-kit skspritenode skshapenode