使用swift和spritekit调整场景大小

时间:2014-11-14 23:05:48

标签: iphone swift ios8 sprite-kit

我用swift和spriteKit用xcode 6.1制作游戏。

我的问题是,当我在iPhone 6或iPhone 6+上运行游戏时,场景/图像不能正确调整大小

game image

我在 GameViewController

上有这个
// Configure the view.
let skView = view as SKView
skView.multipleTouchEnabled = false

// Create and configure the scene.
scene = GameScene(size: skView.bounds.size)
scene.scaleMode = .AspectFill

// Present the scene.
skView.presentScene(scene)

这是我的 GameScene

override init(size: CGSize) {
 super.init(size: size)

 anchorPoint = CGPoint(x: 0.5, y: 0.5)

 let background = SKSpriteNode(imageNamed: "Background")
 addChild(background)
}

我已尝试过所有比例模式,但它们似乎不起作用。我希望有人可以告诉我发生了什么

1 个答案:

答案 0 :(得分:1)

场景的大小设置为

中视图的大小
scene = GameScene(size: skView.bounds.size)

所以只有场景中的图像太小才能填满视图。

对GameViewController进行以下更改:

如果您将场景的大小设置为背景图像的大小:

scene = GameScene(size: CGSize(width: backgroundImageWidth, height: backgroundImageHeight))

(将backgroundImageWidth和backgroundImageHeight替换为实际值) 然后设置场景的比例模式以填充视图:

scene.scaleMode = .Fill

(这可能会使场景看起来很拉伸,你可以使用其他比例模式)