我在 Xcode 6 中制作了一个 Swift SpriteKit 应用程序,它被锁定为横向。我尝试将设备方向更改为纵向,屏幕本身会改变方向,但分辨率不会交换。
例如,iPhone 4s 模拟器在横向模式下返回 1024x768 的分辨率,但在纵向方向上仍返回相同的尺寸。因此,所有图形、字体等都是倾斜的。我不再需要该应用程序来支持横向视图。
我更改了应用程序和视图控制器的部署信息,以反映所需的纵向。
这只是一个猜测,但是当您旋转设备时,您是否会更改场景的大小?
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
// Configure the view.
scene.size = view.bounds.size // <- Here
let skView = self.view as SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .ResizeFill
skView.presentScene(scene)
}
否则,无论您是否旋转设备,您的场景大小都将保持不变。