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

标签 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

我已经阅读了多个 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/

相关文章:

ios - iOS 应用 CPU 徘徊在 100% 左右是否正常?

ios - Swift 空数组 for 循环

ios - 如何从 Sprite 节点中删除特定的 child ?

ios - 重新定义 SKNode 意味着我必须将节点重新添加为子节点?

ios - 如果我在 Storyboard中为 Collection View 单元手动添加单元格,我该如何调用多个重用标识符?

ios - iOS14 中的 SwiftUI 键盘避免问题和 IgnoresSafeArea 修饰符问题

iOS 7 键盘预测

swift - 使这个 Swift 代码变得更智能的最佳方法是什么?

ios - 在 Swift 3 中顺时针旋转 UIImage 270 度的正确方法是什么?

objective-c - 我如何在 SpriteKit 中模糊场景?