Nic*_*tak 9 objective-c ios sprite-kit
我似乎遇到了使用SKTextureAtlas和最近邻居过滤纹理的问题.当我使用没有SKTextureAtlas的最近邻居过滤时它工作正常,但是当我使用SKTextureAtlas时,所有内容都只是改为线性过滤.
没有SKTextureAtlas的代码和结果:
SKTexture* texture = [SKTexture textureWithImageNamed:@"grass"];
texture.filteringMode = SKTextureFilteringNearest;
SKSpriteNode* node = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(512,512)];
Run Code Online (Sandbox Code Playgroud)
应该产生最近邻过滤和做

SKTextureAtlas的代码和结果:
SKTextureAtlas* atlas = [SKTextureAtlas atlasNamed:@"myAtlas"];
SKTexture* texture = [atlas textureNamed:@"grass"];
texture.filteringMode = SKTextureFilteringNearest;
SKSpriteNode* node = [SKSpriteNode spriteNodeWithTexture:texture size:CGSizeMake(512,512)];
Run Code Online (Sandbox Code Playgroud)
应该产生最近邻过滤而不是

有什么建议?
我一直在努力解决同样的问题。
似乎当您为来自 SKTextureAtlas 的 SKTexture 设置过滤模式时,它会为来自该图集的所有内容设置过滤模式。
我最终通过制作两个 SKTextureAtlas(AtlasLinear 和 AtlasNearest)来解决这个问题。一个用于我的普通艺术作品,另一个用于像素艺术。这起到了魅力的作用。
然而,对于非常小的图集,我有时会遇到奇怪的小像素错误。如果您出现此情况,则实际上有助于将一些大的白色块 png 添加到您的像素艺术图集中。
祝你好运。