使用Swift获取SKScene的宽度和高度
问题描述:
我正在开发一个使用iOS 8的Xcode 6.0.1的小游戏。我在网上找不到任何有用的东西,我尝试了一切。我需要一个解释,为什么我得到0.000而不是我正在开发的设备的像素宽度和高度。使用Swift获取SKScene的宽度和高度
为了让你知道我做了什么: 使用了self.frame.size.width,self.size.width等等。
override func didMoveToView(view: SKView) {
let testImage:SKSpriteNode = SKSpriteNode(imageNamed: "GamePreview3.png")
testImage.position = CGPointMake(self.size.width/2, self.size.height/2)
self.addChild(testImage)
NSLog("Width: %f", CGRectGetWidth(self.frame))
NSLog("Height: %f", CGRectGetHeight(self.frame))
}
Width: 0.000000
Height: 0.000000
是不是因为现在用新的Xcode引擎屏幕尺寸无关紧要了?
答
我相信场景的框架始终是0大小的,因为它没有特定的“框架”(其内容不限于虚拟框架)。你应该使用场景的size属性,因为这会给你场景初始化的大小,这通常(但不一定是)SKView的大小。