[ios]SpriteKit-背景图像是非常舒展

发布时间: 2017/4/3 21:24:25
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我设置我 spriteKit 游戏模式是︰

scene.scaleMode = .aspectFill

我设置我的背景图像。

sky = SKSpriteNode(imageNamed: "Sky")
sky.position = CGPoint(x: 0, y: 0)
sky.size.width = self.size.width
sky.size.height = self.size.height
sky.anchorPoint = CGPoint(x: 0.5, y: 0.5)
sky.zPosition = 1
self.addChild(sky)

图像大小为 2732 x 2048。它看起来可怕 4.7 英寸 iPhone 上。
整件事完成拉伸。
有什么办法,若要裁剪的图像但不是拉伸以适合 iphone (同一屏幕高宽比为图像)。

我试着其他规模模式,他们不工作。
有人可以告诉我现在采取正确的行动是什么?

如果我提供 iPhone 艺术品吗?我如何区分代码,来指定哪些艺术品应该使用 iPhone,跟哪些艺术品 iPad 应该使用。

解决方法 1:

删除的行,在那里你设置大小的天空和你应该完成下列任务︰

不要将大小设置为框架。相反,将其设置为图像大小的所以它获取裁剪,而不是缩放︰

sky.size = sky.texture.size

此代码将替换为 2 的线,你有设置其宽度和高度。

这个唯一的工程,如果你的图像尺寸正确符合其默认大小 (你让它在大小)

或者,您也可以创建您的应用程序普遍喜欢这样。看看这个︰ iOS 通用设备应用程序与 SpriteKit,如何扩展节点的所有视图?。然后你只是让你的背景 1024 x 1024 (或任何大小足够大,以适合所有设备尺寸长宽比)。这将作物对设备不是相同的大小,它的一部分但你纵横比不会改变或缩放为不同的设备。

赞助商