iOS:Sprite套件为不同的iOS设备设置适当大小的最佳实践是什么

iOS:Sprite套件为不同的iOS设备设置适当大小的最佳实践是什么,ios,iphone,swift,resize,sprite-kit,Ios,Iphone,Swift,Resize,Sprite Kit,我使用精灵套件制作通用游戏。 我想缩放原始精灵以在其他设备上使用它。我的游戏有像素图形,所以缩放对我来说是可以的 我在考虑创建sprite及其大小时的最佳方法: let texture = SKTexture(imageNamed: "myTexture") texture.filteringMode = SKTextureFilteringMode.Nearest let sprite = SKSpriteNode(texture: texture, size: CGSize(width:

我使用精灵套件制作通用游戏。 我想缩放原始精灵以在其他设备上使用它。我的游戏有像素图形,所以缩放对我来说是可以的

我在考虑创建sprite及其大小时的最佳方法:

let texture = SKTexture(imageNamed: "myTexture")
texture.filteringMode = SKTextureFilteringMode.Nearest

let sprite = SKSpriteNode(texture: texture, size: CGSize(width: 300, height: 300))
sprite.size = CGSize(width: Double(sprite.size.width) * deviceScreenRatio, height: Double(sprite.size.height) * deviceScreenRatio)
我认为有两种方法可以做到这一点。 1.计算设备比率

设置精灵,然后重新计数,调整其大小:

let texture = SKTexture(imageNamed: "myTexture")
texture.filteringMode = SKTextureFilteringMode.Nearest

let sprite = SKSpriteNode(texture: texture, size: CGSize(width: 300, height: 300))
sprite.size = CGSize(width: Double(sprite.size.width) * deviceScreenRatio, height: Double(sprite.size.height) * deviceScreenRatio)
二,。另一种方式。计算不同的大小,将其存储到.plist中,然后使用它:


什么是最好的方法或者你知道的替代方案

这实际上取决于应用程序以及您希望如何处理不同的设备。放大,或只是将其视为更大的屏幕。@LearnCos2D是的,我理解这一点,但什么是更节省资源的方法,创建sprite然后调整其大小,或者使用sprite初始化sprite,或者这无关紧要?不确定您的意思,但您最终会得到一个sprite,重要的是纹理的大小,我认为最好的解决方案是将你所有的图像都制作成iPad,然后使用第一个选项缩小。不要忘记atlas:@learncos2D我的意思是,在第一种方法中,我使用纹理创建了精灵节点,它已经有了一定的大小,对吗?在这之后,我通过将它的大小设置为另一个我需要的大小来调整它的大小。这比创建已经具有大小的sprite节点更消耗资源吗?