Ale*_*x K 8 iphone image ios sprite-kit
开发人员似乎总是为不同的设备创建不同的图像资源,并根据设备加载它们.但是,为最大分辨率设备(iPad)创建图像然后为iPhone 6,5等缩小图像是否有任何缺点?
我使用SpriteKit,所以我只创建不同大小的SKSpriteNodes并对它们应用相同的纹理并缩放它以适应节点.
我知道性能可以考虑(为旧设备加载大图像).但除此之外,还有什么吗?这些图像会出现像素化/模糊吗?
完美/纯粹的答案是为每个设备分辨率使用单独的图像和代码。
然而,从您自己的时间和理智的角度来看,考虑到分辨率和屏幕尺寸的数量不会很快减少,使用有限的集合是有意义的。那么,为什么要浪费时间准备多个图像呢,除非像 xcode 这样的工具可以让这件事变得更简单。
对于方形或固定纵横比的图像,我认为您只需要一张图像。像背景这样的图像存在一个问题,无论分辨率如何,您都需要至少满足不同的宽高比:因此单独的宽高比图像是必不可少的(例如 3:2 和 16:9),除非您不介意挤压、拉伸或裁剪图像。
如果您发现测试中性能受到影响,您可以稍后添加较低分辨率的图像。
就像素化而言,这是无法避免的。如果您考虑一下从 x3 分辨率变为 x1 分辨率时会发生什么,您就必须将 3x3 像素混合为 1x1。在高分辨率下,任何单像素宽(如线条)或在几个像素上颜色快速变化的物体都会受到影响最大。网上有很多关于这方面的文章,你可以看看。
避免像素化的唯一方法是使用矢量图像,但这需要特殊的软件来加载矢量图像并将其渲染到 UIImage 中。
当你缩小时,每张图像都会受到不同的影响。一个想法可能是选择 x2 图像,对于 iPhone 3,将其缩小 1;对于 iPhone 6+,将其放大 1 至 x3。这将覆盖当前大多数原始分辨率的设备,并且可能会提供不太明显的像素化。
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |