ios - 为什么在 SpriteKit 中 frame.size 1024x768 在纵向模式下?

标签 ios swift sprite-kit

当我使用 Swift 从头开始​​创建 SpriteKit 游戏时,在我的 GameScenedidMoveToView 方法中,我写道:

    print(frame.size.width)
    print(frame.size.height)

我回来了。

1024.0
768.0

我的应用程序当前正在运行的是纵向模式。我认为框架是可以包含节点的最小矩形。

如果我在屏幕上添加一个形状来确认我正在阅读的内容,我会添加以下代码:

anchorPoint = CGPoint(x: 0.5, y: 0.5)
let leftShape = SKShapeNode(rectOfSize: CGSize(width: frame.size.width/8, height: frame.size.height/2))
leftShape.fillColor = UIColor.redColor().colorWithAlphaComponent(0.2)
leftShape.strokeColor = UIColor.clearColor()
leftShape.name = "left"
addChild(leftShape)

我得到以下信息:

enter image description here

这些对我来说都没有意义。数学不加起来。似乎我遗漏了 Spritekit 或 iOS 中的一个基本部分。

我正在使用 xcode 7 beta 3,它是 Swift 2.0。虽然我使用 Swift 来编写代码,但我并不反对用 Objective-C 编写的建议

最佳答案

我遇到了类似的问题,我解决了将其放入 gameViewController

            scene.size = skView.bounds.size

关于ios - 为什么在 SpriteKit 中 frame.size 1024x768 在纵向模式下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31545035/

相关文章:

iphone - 下载图像时出现内存警告和应用程序崩溃

iphone - iOS:从网址下载图片并保存在设备中

swift - 在 SpriteKit 中为弹跳球创建音效

ios - Swift WHOLE_MODULE_OPTIMIZATION 改进了编译时间,但导致 lldb/Xcode 崩溃

ios - 如何从 UIStoryboardSegue 动画中的目的地复制设计?

ios - 从另一个文件中的 SKScene 中删除 UIView

ios - 如何在 SKScene 中呈现 UIViewController?

ios - Xcode 和 Cocoapods "No such module"错误

ios - 如何检测设备 iOS 版本构建号,(例如 13A452)

ios - fatal error : unexpectedly found nil while unwrapping an Optional value Computation