我正在使用 Apple 的新 SKTileMapNode 开发瓷砖地图游戏。我的图块上的像素与手机显示屏上的像素不匹配。我的缩放模式设置为 .resizeFill。我的图块大小正确标记为 64x64,并且每个图块的纹理图像大小正确。
我使用的是附加图像中灰色圆圈的子相机。我相信相机会创建正在使用的屏幕尺寸的像素到像素视图并匹配分辨率,但我不确定我是否可以相信这一点。我怎样才能让我的像素正确对齐以避免这种情况。
事实证明,SpriteKit 的 SKTileMapNode 非常喜欢针对所有分辨率优化资产。这完全解决了我的像素对齐问题。虽然这看起来很明显,但我最初添加 @1x 文件是为了使用优化的纹理图集。需要更多的研究来发现如何将不同的分辨率添加到纹理图集中。
由于它与普通图集不同(将“.atlas”附加到图像文件夹),我将在此处描述如何执行此操作
转到assets.xcassets
文件夹并单击“新建 Sprite Atlas”。在这里拖入所有@2x 和@3x 图像。[asset-name].atlas
如果您以前有文件夹,请删除该文件夹,因为它本身不支持不同的分辨率。
从这里开始,可以像[asset-name].atlas
在代码中访问原始文件夹一样访问图集。