当我使用 Swift 从头开始创建 SpriteKit 游戏时,在我的 GameScene
的 didMoveToView
方法中,我写道:
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)
我得到以下信息:
这些对我来说都没有意义。数学不加起来。似乎我遗漏了 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/