使用Swift获取SKScene的宽度和高度

时间:2014-10-20 20:58:15

标签: ios xcode swift sprite-kit skscene

我正在使用适用于iOS 8的Xcode 6.0.1开发一款小游戏。我无法在网络上找到任何有用的内容,我尝试了所有内容。我需要解释为什么我得到0.000而不是我正在开发的设备的宽度和高度(以像素为单位)。

让你知道我做了什么: 使用了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引擎屏幕尺寸不再重要了?

1 个答案:

答案 0 :(得分:3)

我相信场景的帧总是0大小,因为它没有特定的"帧" (其内容不限于虚拟框架)。你应该使用场景的size属性,因为它会给你初始化场景的大小,这通常是(但不一定是)SKView的大小。