在Sprite Kit中扩展不同的iPhone屏幕

时间:2015-01-05 17:27:45

标签: objective-c sprite-kit scaling sprite

我正在用精灵套件创建一款iPhone游戏。经过数周的研究,我仍然无法理解如何为每种屏幕尺寸正确调整大小和实现精灵。

据我所知,这些后缀决定使用哪个图像(取决于屏幕的宽高比)

@ 2x - 4s,5,6

@ 3x - 6 +

我已经在视图控制器中阅读并使用了不同的缩放模式,但没有运气和难以理解它们。

如果我提供750x1136(像素)的背景作为@ 2x,它将完全适合iphone 6,但对于iphone 5来说太大了。如果缩放是答案,那么" sprite kit&# 34;知道我提供了iphone 5的图像,我希望按比例放大6,反之亦然?这是一个构建设置吗?对于角色来说,我需要iphone 6精灵比iphone 5精灵要大。

我如何最适合不同设备的大小和缩放精灵? (更容易讨论应该是屏幕大小的背景)

我希望使用最大屏幕尺寸的分辨率为每个宽高比创建一组精灵。防爆。 @ 2x专为iPhone 6设计,缩小为5和4。

1 个答案:

答案 0 :(得分:0)

3x,2x和普通图像并非真正意图以这种方式进行操作。这三幅图像应该是基本相同的图像,3x的像素尺寸正常为3倍,2x具有双倍尺寸等。

如果您需要缩放场景以更好地适应特定设备的格式,您可能需要在创建场景时按照Apple示例代码的方式进行缩放:

         var viewSize = self.view.bounds.size

        // On iPhone/iPod touch we want to see a similar amount of the scene as on iPad.
        // So, we set the size of the scene to be double the size of the view, which is
        // the whole screen, 3.5- or 4- inch. This effectively scales the scene to 50%.
        if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
            viewSize.height *= 2
            viewSize.width *= 2
        }