Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sprite kit 跨设备的IOS精灵套件映像_Sprite Kit_Retina Display_Iphone 6 Plus - Fatal编程技术网

Sprite kit 跨设备的IOS精灵套件映像

Sprite kit 跨设备的IOS精灵套件映像,sprite-kit,retina-display,iphone-6-plus,Sprite Kit,Retina Display,Iphone 6 Plus,这就是我的问题: 我想充分利用视网膜显示器,以及支持尽可能多的设备 我正在尝试加载一个背景图像,它将完全填满每个设备的屏幕。我让这位艺术家以2730x1536的高宽比创作图像,高宽比约为16x9,并让他考虑到我将不得不在4:3时裁剪ipad 据我所知,@3x图像需要是2208x1242,然后iphone 6+的视网膜显示器应将其缩小到1920x1080物理像素,使图像看起来清晰,并完全填满我的iphone 6+屏幕 我把这个图像放在我的场景中作为一个SKSpriteNode。我需要设置@3x(2

这就是我的问题:

我想充分利用视网膜显示器,以及支持尽可能多的设备

我正在尝试加载一个背景图像,它将完全填满每个设备的屏幕。我让这位艺术家以2730x1536的高宽比创作图像,高宽比约为16x9,并让他考虑到我将不得不在4:3时裁剪ipad

据我所知,@3x图像需要是2208x1242,然后iphone 6+的视网膜显示器应将其缩小到1920x1080物理像素,使图像看起来清晰,并完全填满我的iphone 6+屏幕

我把这个图像放在我的场景中作为一个SKSpriteNode。我需要设置@3x(2208x1242)图像的大小,以便在不缩放图像的情况下使用视网膜

以下是一个例子:

// Place a high res background image that perfectly fills my Landscape 6+ screen    
var image = SKSpriteNode(texture: SKTexutre(imageNamed: "background"), color: SKColor.clearColor(), size: CGSize(width: ????, height: ????))
如果我在纵向锁定游戏,我需要设置2208x1242图像和scaleMode的高度和宽度,以完美填充@3x iphone 6+视网膜显示屏


提前谢谢

在正常模式(非缩放)下,iPhone 6+的纵向显示为414x736点。您的UIImageView应该使用superview边缘的约束设置为全屏。正如您所说,您希望提供大小为1242x2208的3倍图像,然后将其下采样为1920x1080。我建议您将缩放模式设置为“中心”,这样边缘就可以在较小的分辨率下进行裁剪。这可能会帮助您更好地理解它。

我也找不到关于这个主题的任何权威文档。如果有人知道,我们将不胜感激!所以我最大的问题是,我如何确定使用的是3x尺寸?如果我有两张带有\@2x后缀和@3x后缀的图像,应用程序如何决定使用\@3x后缀?这个标签是否仅表示xcassets中的某些内容?谢谢你的回答!有一种简单的方法可以“确定”所使用的尺寸-创建一个测试图像,在1x版本中有一个“1”,在2x版本中有一个“2”,等等。你会看到它在非视网膜设备上使用1x版本,在视网膜设备上使用2x版本,在iPhone6+上使用3x版本。单个图像应使用@1x后缀命名,但如果您使用的是资产目录,则不需要这样做-只需将图像拖动到适当的插槽中即可。