2017-05-16 235 views
-3

我在Swift做了一个简单的游戏,我试图找到一个获得游戏场景中心的好方法。目前我正在这样做:Swift:Size vs bounds vs frame

CGPoint(x: size.width/2, y: size.height/2) 

看起来很简单。然而,当检查时,我发现这四件事情也存在GameScene类的一部分:

self.frame 
self.size 
self.view.bounds 
self.view.frame 

我很困惑。我应该使用哪一个?他们对我来说都是一样的。有什么不同?

+2

检查了这一点:http://stackoverflow.com/questions/1210047/cocoa-what-the-the-the-the-frame-and-the-bounds –

回答

1

该框架是视图超级视图中的位置,因此如果它是从左侧100像素到100x100平方的100x100平方,则它的{100,100,100,100}。

边界是矩形,但忽略超视图中的位置。约束原点始终为0,0。因此,在例如上述观点来看是{0,0,100,100}

大小是一样的作为bounds.size,{} 100,100

+0

你推荐哪一个我推荐使用? – MysteryPancake

+1

要找到场景的中心,我建议你使用scene.bounds。请记住,放置在精确中心的精灵会在它锚定并显示为偏移量时拥有该精灵,因此您需要从放置它的点减去精灵大小。 –

相关问题