这是我第一次使用 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
我已经阅读了多个 swift 游戏教程,但我找不到支持所有 iphone 屏幕尺寸的解决方案。当我使用
设置 TitleSecen 的背景时var bgImage = SKSpriteNode(imageNamed: "main")
self.addChild(bgImage)
bgImage.position = CGPointMake(self.size.width/2, self.size.height/2)
当我使用上面的脚本时,屏幕会居中并且变小。我应该为背景设置什么尺寸的图像? LaunchScreen 的图像也很奇怪。对于像我这样的菜鸟,我有一个非常好的教程或示例,它会很有帮助! 我很乐意从你这里来!
最佳答案
首先,你的图片大小到处都是,我觉得你不明白 Xs 是如何工作的。
基本上,它们是分辨率根据设备类型(非视网膜、视网膜、视网膜高清)增加的比率。
让我们举个例子。
您需要一个按钮的图像。您支持 iPhone,从 iPhone 3gs 到 6 Plus。这意味着您支持所有 3 种类型的显示器。
您的按钮是 50x50 点。一个点=1像素x分辨率
- iPhone 3Gs 不是 Retina,它的比例为 1(一个点中有 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。因此 image@2x 应为 1500 x 2668,image@3x 应为 2250 x 4002。
关于ios - 无法为 swift spritekit 背景设置完美图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420360/