【问题标题】:SpriteKit position confusionSpriteKit 位置混乱
【发布时间】:2014-06-19 11:57:54
【问题描述】:

在学习 SpriteKit 时,我正在制作一个带有 1 个按钮的场景。我不明白职位的工作方式。我读到的是 0,0 是左下角,默认锚点在每个按钮的中间(0.5,0.5)。现场是scene.scaleMode = .AspectFill。如果我写:

    self.playButton.position = CGPointMake(self.playButton.size.width/2,CGRectGetMidY(self.frame))
    self.addChild(self.playButton)

我得到了下面屏幕截图中的内容。 如果我将playbutton.position.x 设置为self.playbutton.size.width/2,那么我会假设它位于屏幕的左边缘。离屏幕并不奇怪。我已经阅读了几天关于尺寸的文档,但我似乎仍然无法理解它。我也明确设置:

    self.size.width = 768
    self.size.height = 1024 

表示场景sizewidthheight。我还在主情节提要中选中了“使用自动布局”。

【问题讨论】:

  • 用“sprite-kit”更新了问题标签,以便快速发现

标签: ios sprite-kit swift


【解决方案1】:

如果您将场景的缩放模式更改为.AspectFit,您将能够快速发现问题所在。您为场景设置的分辨率与设备的纵横比完全不同。事实上,当我回答您的最后一个问题时,我假设您使用 768x1024 分辨率意味着您正在为 iPad 开发,这是正确的分辨率。

在 4 英寸屏幕的 iPhone 上,您应该将场景的大小设置为 320x568,对于 3.5 英寸屏幕,您应该将场景大小设置为 320x480。然而,这可以通过将这一行添加到视图控制器中创建场景来简化。它将场景的大小设置为视图控制器视图的大小。

scene.size = skView.bounds.size

【讨论】:

  • 更简单:将场景的 scaleMode 设置为 SKSceneScaleModeResizeFill - 这样,它的大小将始终与视图相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多