【发布时间】:2014-10-23 21:47:00
【问题描述】:
我只是想画一个矩形并将其放在屏幕的左下角
var rectW:CGFloat = CGFloat(200.0)
var rectH:CGFloat = ceil(self.frame.height * 0.15)
var rect = SKShapeNode(rectOfSize: CGSize(width: rectW, height: rectH));
let posX:CGFloat = 0.0 + (rect.frame.width / 2)
let posY:CGFloat = self.frame.height - (self.frame.height - rect.frame.height)
rect.position = CGPointMake(posX,posY)
rect.fillColor = SKColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
rect.lineWidth = 1
self.addChild(rect)
问题是即使我相信所有的数学都是正确的,矩形在屏幕下方大约有 38 个点/像素,如下图所示(白色边框显示了限制)。
这里是位置、高度和宽度的输出,供您参考。
PosX: 100.5
PosY: 117.0
Rect Width: 201.0
Rect Height: 117.0
Frame Height: 768.0
Frame Weight: 1024.0
如果我简单地采用这条线但添加 38 点/像素它可以工作,但为什么呢?有什么我遗漏的吗?
let posY:CGFloat = self.frame.height - (self.frame.height - rect.frame.height) + 38
【问题讨论】:
-
检查场景的缩放模式,它可能设置为不适合填充
标签: ios swift sprite-kit sknode