无法为swift spritekit背景设置完美的图像

时间:2015-09-06 05:27:55

标签: ios swift sprite-kit

这是我第一次使用spritekit和swift制作游戏,而且我遇到了场景大小和GameScene以及LaunchScreen的背景图像问题。目前,我使用的是屏幕尺寸

  let scene = TitleScene(size: CGSize(width: 750, height: 1334))

我为场景准备了3张背景图片,main.png = 750×1334   main@2x.png = 640×1136,main @ 3x.png = 960×1685

我已经阅读了多个快速游戏教程,但我找不到支持所有iphone屏幕尺寸的解决方案。当我使用

设置TitleSecen的背景时
var bgImage = SKSpriteNode(imageNamed: "main")

        self.addChild(bgImage)
        bgImage.position = CGPointMake(self.size.width/2, self.size.height/2)

当我使用上面的脚本时,屏幕会居中且小。我应该为背景设置多大的图像? LaunchScreen的图像也很奇怪。我有一个非常好的教程或像我这样的菜鸟的例子它会有所帮助! 我很乐意来到你这里!

1 个答案:

答案 0 :(得分:1)

首先,您的图像大小无处不在,我认为您不了解X的工作原理。

基本上,它们是基于设备条纹(非视网膜,视网膜,视网膜HD)分辨率增加的比率。

我们举一个例子。

您需要一个按钮图像。你支持iPhone,从iPhone 3gs到6 Plus。这意味着您支持所有3种类型的显示器。

您的按钮是50x50点。点= 1像素x分辨率

  • iPhone 3Gs是非视网膜,它的比例为1(一点一个像素),所以你的图像应该是50x50像素=> image@1x.png = 50x50像素
  • 4,4s,5和5s是视网膜,它们的比例为2(一个点为2个像素),因此您的图像应为100x100像素=> image@2x.png = 100x100像素
  • 6和6+是RetinaHD,它们的比率为3(一个点为3个像素),因此您的图像应为150x150像素=> image@3x.png = 150x150像素

您应该阅读iOS UI Guidelines

其次,在您的情况下,图像为750 x 1334.因此,图像@ 2x应为1500 x 2668,图像为@ 3x 2250 x 4002。