2014-10-06 77 views
0

我有一个很烦人的问题...无法从过滤纹理地图纹理SpriteKit

我有一个基于像素的艺术游戏,所以使用的纹理是8x8的,然后放大到128×128或任何是必要的。

要做到这一点,我需要做的是说texture.filteringMode = SKTextureFilteringNearest

现在,几乎一切 - 除了纹理地图作品。从纹理图集中拉出纹理会导致纹理拒绝切换过滤模式。有一点需要注意的是,它似乎是从建立纹理地图集的标准过程开始的,但是当我的纹理地图集是单例时,它不起作用。

现在通常情况下,我只是想知道我设置错了,但我认为这个问题在SpriteKit上。这里的原因:

1)错误没有发生,直到最近,我并没有改变任何东西

2)错误只发生在iOS的7不是7.1或8+

3 )问题不是过滤模式是错误的 - 过滤模式设置为0,这是最近的(我测试了它,记录每一帧,并且模式是正确的 - 但它在视觉上是不正确的)

因此,它的一个渲染错误。但是这没有意义,特别是当它看起来工作一点。任何人有任何输入?我很欣赏任何事情,我也会尝试更多的东西。谢谢!

注 - 我想强调的是,代码as-is在ios7.1 +中工作得很好,所以代码以某种形式工作......但它也不是7.1独特的功能,因为它为我工作在一个点上。

回答

0

哦,上帝,我已经解决了它,对不起,如果我浪费了任何人的时间。

但这确实是我见过的最愚蠢的事情。我修好了它。但是如何修正它。

我取代了代码:

self.texture.filteringMode = SKTextureFilteringNearest; 

self.texture.filteringMode = SKTextureFilteringLinear; 
self.texture.filteringMode = SKTextureFilteringNearest; 

新问题GUYS。为什么在这个世界上,EVER修复了什么?很痛苦,我甚至会认为尝试。如果这是我要处理的那种恶作剧,我不认为我可以成为程序员。

为任何,嗯......口语语言提前道歉。这里的对话应该是我收集的单调和干燥的。

编辑:好吧,我已经平静了一下 - 解决方案是,在初始化后的某个地方,尖叫纹理以将纹理模式设置为第一个线性,然后最接近。我试图弄清楚需要完成哪些工作(现在,我将代码塞进了更新语句中,所以它会不断运行,但是当我确切知道代码中何时需要指定正确的过滤器。