在学习 SpriteKit 时,我正在制作一个带有 1 个按钮的场景。我不明白职位的运作方式。我读到的是 0,0 是左下角,默认 anchor 位于每个按钮 (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
表示场景尺寸
宽度
和高度
。另外,我在主 Storyboard 中选中了“使用自动布局”。
最佳答案
如果将场景的缩放模式更改为 .AspectFit
,您将能够快速发现问题所在。您为场景设置的分辨率与设备的分辨率完全不同。事实上,当我回答你的上一个问题时,我假设你使用 768x1024 分辨率意味着你正在为 iPad 进行开发,这是正确的分辨率。
在具有 4 英寸屏幕的 iPhone 上,您应将场景尺寸设置为 320x568,对于 3.5 英寸屏幕,应将场景尺寸设置为 320x480。但是,可以通过将此行添加到 View Controller 中场景的创建中来简化此操作。它将场景的大小设置为 View Controller View 的大小。
scene.size = skView.bounds.size
关于ios - SpriteKit位置困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24306048/