【问题标题】:Swift: Size vs bounds vs frame [duplicate]斯威夫特:大小vs边界vs框架[重复]
【发布时间】:2017-10-15 14:34:00
【问题描述】:

我正在用 Swift 制作一个简单的游戏,并试图找到一种获得游戏场景中心的好方法。目前我正在这样做:

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

看起来很简单。但是,在检查时,我发现这四个东西也作为 GameScene 类的一部分存在:

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

我很困惑。我应该使用哪一个?在我看来,它们都一样。有什么区别?

【问题讨论】:

标签: ios swift


【解决方案1】:

框架是视图超级视图中的位置,所以如果它是一个 100x100 的正方形,距离左侧 100 像素,顶部是 {100, 100, 100 100}。

边界是矩形,但忽略了超级视图中的位置。边界矩形原点将始终为 0,0。所以上例中的视图将是 {0,0,100,100}

Size 与 bounds.size 一样,{100,100}

【讨论】:

  • 你推荐我用哪一个?
  • 要找到场景的中心,我建议你使用scene.bounds。请记住,放置在确切中心的精灵会在它锚定时具有该中心并且看起来是偏移的,因此您需要从放置它的点减去您的精灵大小。
猜你喜欢
  • 2014-11-15
  • 1970-01-01
  • 2016-11-23
  • 2019-07-15
  • 1970-01-01
  • 2017-07-22
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多