如何将我的视图设置为整个框架?

How can I set my view to the whole frame?

我正在 swift 制作游戏。我想知道如何解决场景视图与场景框架不匹配的问题。

更具体地说,我希望能够在屏幕周围制作一个边缘物理体,这样任何东西都无法逃出屏幕之外。在 GameScene 中,我输入了 self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)

但这有一个奇怪的效果,覆盖了比我一次看到的更大的区域。如果有人可以提供帮助,我将不胜感激。谢谢!

如果您正在使用缩放模式 .AspectFill,也许您的场景的一部分在视图控制器的可见区域之外,那么 SKPhysicsBody(edgeLoopF​​romRect: self.frame) 没有按您预期的那样工作。

尝试 self.view.frame 而不是 self.frame(如果您的设备配备 rentina 显示屏,则可能需要乘以 2)

我找到了答案。因为我是从一个文件加载 GameScene,所以尺寸有点小。我在 GameScene.sks 中更改了场景的大小,我的程序运行得很漂亮!