2014-07-03 29 views
3

在场景的右上角或左上角添加标签的最佳方式是什么?它应该是跨设备的。角落里的Sprite Kit标签

let height = self.frame.size.height 
let width = self.frame.size.width  
label.fontSize = 50 
label.verticalAlignmentMode = .Top 
label.horizontalAlignmentMode = .Left 
label.position = CGPoint(x:2, y:height-2) 

但它不会在角落里。哪里不对?

+0

你的代码看起来是正确的,并且应该把标签的左上角有每个轴2点缓冲区。你看到的行为是什么? –

+0

标签高于屏幕。我可以减去50或更多来看看它。如果我减去2则隐藏。 – SDmitry

+0

然后自我的框架比你的屏幕大。 –

回答

2

在Sprite Kit中,场景坐标的默认原点位于屏幕的左下角。因此,如果您想要将标签放在顶角,则应该继续使用屏幕的高度来标注标签的位置,但也可以使用0或屏幕宽度作为x位置。根据侧面将其与左侧或右侧的水平对齐模式相结合,并且您的标签将处于正确的位置。

对于在左上角的标签:

label.horizontalAlignmentMode = .Left 
label.position = CGPoint(x:0.0, y:self.size.height) 

或为右上:

label.horizontalAlignmentMode = .Right 
label.position = CGPoint(x:self.size.width, y:self.size.height) 
+0

谢谢,但我无法看到带有此类代码的标签。可能是它的错误?有Sprite Kit的另一个版本吗? – SDmitry

+0

我使用iPhone 5s模拟器。高度100就可以了。但在iPad Air上,它将成为顶级的一个大垫脚。 – SDmitry

+0

@SDmitry你有GameScene“.sks”文件吗?如果是这样,请确保它具有适当的尺寸,并且场景的内容缩放模式设置为不允许场景在屏幕外延伸的模式。 –