使用通用图像资源(SpriteKit 游戏)时背景不适合屏幕
Posted
技术标签:
【中文标题】使用通用图像资源(SpriteKit 游戏)时背景不适合屏幕【英文标题】:Background not fit to screen when use Universal image asset (SpriteKit Game) 【发布时间】:2014-12-06 23:33:34 【问题描述】:我正在使用 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://)
然后,我尝试使用特定于设备的 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】:场景的 scaleMode 似乎更像是一个问题,而不是资产问题。
Understanding SKScene scaleMode
Scene Scaling Modes
编辑: 尝试使用通用资产 @2x - @3x 并使用边界而不是框架 使用此参考图像 。这是 iphone 6+ 和 ipad Air 中的结果
【讨论】:
我正在尝试在 2x 上使用相同的图像参考 3x。它适合 iPad 上的屏幕,但在 iPhone 2x 上显示有缩放背景。看我的截图i.stack.imgur.com/N33jt.jpg谢谢 一项资产 2x 用于 iPad 和其他需要的资产。 3x 仅适用于 iPhone 6+。以上是关于使用通用图像资源(SpriteKit 游戏)时背景不适合屏幕的主要内容,如果未能解决你的问题,请参考以下文章