使用通用图像资源(SpriteKit游戏)时背景不适合屏幕

时间:2014-12-06 23:33:35

标签: ios iphone swift sprite-kit

我正在迅速使用SpriteKit为游戏场景工作。我使用Universal images.xcassets作为背景图片。我的图像尺寸是2208x1536(px)放在iPhone 3x资产上。

它在iPhone上看起来不错但在iPad上我的背景不适合屏幕。

在iPhone上看起来不错。 http://i.stack.imgur.com/RJzNu.jpg

但是在iPad上背景不适合屏幕? i.stack.imgur.com/bbvSx.png (请添加http://)

这是我当前的图片资源。 i.stack.imgur.com/6CXUU.png (请添加http://)

然后,我尝试使用Device Specific images.xcassets,然后将相同的图像放在iPad 2x上 i.stack.imgur.com/n3jXZ.png (请添加http://)

现在,背景已经适合iPad上的屏幕,但是任何节点协调和字体大小都不正确。 i.stack.imgur.com/ylZ4V.jpg (请添加http://)

这是我项目的一些信息。

// scene size & scale mode
scene.size = skView.frame.size
scene.scaleMode = .AspectFill

// background color
self.backgroundColor = SKColor.brownColor()

// add background image
let bg = SKSpriteNode(imageNamed:"bg")
bg.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
self.addChild(bg)

我的艺术品解析 i.stack.imgur.com/j9AAz.jpg (请添加http://)

如何解决此问题?


修改

我试图在我的项目中使用像素空间,现在这个问题已经解决了。

它在任何设备上看起来都很好并且协调正确。 http://i.stack.imgur.com/L1KoI.jpg

谢谢。

1 个答案:

答案 0 :(得分:1)

对于场景的scaleMode而言,这似乎比资产问题更为严重。

Understanding SKScene scaleMode

Scene Scaling Modes

编辑: 尝试使用通用资产@ 2x - @ 3x并使用边界代替框架universal assets使用此参考图像reference image。这是iphone 6+ iphone 6+和ipad Air ipad Air

的结果