Sprite kit SKTileMapNode像素到像素对齐

Sprite kit SKTileMapNode像素到像素对齐,sprite-kit,pixel,sktilemapnode,Sprite Kit,Pixel,Sktilemapnode,我正在用苹果新推出的SKTileMapNode开发一款tilemap游戏。“我的瓷砖”上的像素与手机屏幕上的像素不匹配。我的缩放模式设置为.resizeFill。我的瓷砖大小正确标记为64x64,并且每个瓷砖的纹理图像大小正确。 我使用的相机是附加图像中灰色圆圈的子对象。我相信相机将创建一个像素到像素的屏幕大小视图,并与分辨率相匹配,但我不确定我能相信这一点。如何使像素正确对齐以避免这种情况。结果表明,SpriteKit的SKTileMapNode非常喜欢针对所有分辨率进行优化的资源。这完全解

我正在用苹果新推出的SKTileMapNode开发一款tilemap游戏。“我的瓷砖”上的像素与手机屏幕上的像素不匹配。我的缩放模式设置为.resizeFill。我的瓷砖大小正确标记为64x64,并且每个瓷砖的纹理图像大小正确。


我使用的相机是附加图像中灰色圆圈的子对象。我相信相机将创建一个像素到像素的屏幕大小视图,并与分辨率相匹配,但我不确定我能相信这一点。如何使像素正确对齐以避免这种情况。

结果表明,SpriteKit的SKTileMapNode非常喜欢针对所有分辨率进行优化的资源。这完全解决了我的像素对齐问题。虽然这看起来很明显,但我最初添加@1x文件是为了使用优化的纹理图集。需要更多的研究才能发现如何向纹理图集添加不同的分辨率

因为它不同于普通的地图集(将“.atlas”附加到一个图像文件夹中),所以我将在这里描述如何这样做

转到
assets.xcsets
文件夹并单击“新建精灵图集”。在此处拖动所有@2x和@3x图像。删除
[asset name].atlas
文件夹(如果以前有),因为这不支持本机的不同分辨率


从这里开始,可以访问atlas,就像原始的
[asset name]一样。atlas
文件夹是在代码中访问的。

请确保绕过您的位置,如果您的位置实际为10.5,则可能会出现错误,因此它将显示在像素11处。当你在10点想要它时,这可能是一个神奇的答案。我真不敢相信我没看到这么简单的事情。我到家后会测试一下。把相机的位置转过来为我解决了问题。thanx提供了简单而有用的建议