2014-12-06 46 views
1

我正在用SpriteKit在swift中为游戏场景工作。我使用Universal images.xcassets作为背景图片。我的图片尺寸是2208x1536(px)放在iPhone 3x资产上。使用通用图像资源(SpriteKit游戏)时背景不适合屏幕

它在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://)

然后,我尝试使用设备特定images.xcassets然后把相同的图像在iPad 2倍 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

对于场景的scaleMode而言,这似乎更像一个资产问题。

Understanding SKScene scaleMode

Scene Scaling Modes

编辑: 尝试使用通用资产@ 2x - 时@ 3X和使用范围,而不是使用该参考图像reference imageuniversal assets。这是iphone 6+ iphone 6+和ipad air ipad Air

+0

的结果你能告诉我我的错吗? – 2014-12-07 00:07:53

+0

编辑我的答案与测试的细节... – elkraneo 2014-12-07 10:33:16

+0

我试图在2x上使用相同的图像参考3倍。它适用于iPad上的屏幕,但在iPhone 2x显示屏上放大后台。 查看我的截图 http://i.stack.imgur.com/N33jt.jpg 谢谢 – 2014-12-08 00:08:15