对于我的游戏,我试图从其他两个纹理创建自定义纹理。这是为了在我的精灵中允许各种各样的颜色等。
为此,我通过将两个纹理一起添加,然后使用
将其应用于新的SKTexture来创建精灵。SKTexture *texture = [self.view textureFromNode:newSprite];
总的来说效果很好,我得到了一个很好的自定义纹理。除了在Retina设备上尝试我的游戏时,屏幕上的纹理尺寸正确,但分辨率明显较低。
纹理都在那里并正确命名,因此我不相信这是一个问题。
有没有人遇到过这个,或者知道如何创建合适的@ 2x纹理?
答案 0 :(得分:1)
我终于(不小心)想出了如何解决这个问题。必须将要创建纹理的节点添加到场景中。否则,您将获得纹理的非视网膜尺寸。
这并不理想,因为创建纹理而不必将它们添加到屏幕上会很好。
答案 1 :(得分:0)
我发现了另一种提高ShapeNodes创建的纹理保真度的方法,与这个问题并不完全相关 - 但是有用的英特尔。
以x2的大小和宽度创建形状。 以相同的超大比例创建所有字体和其他形状。 确保您的定位相对于此总体尺寸(例如,不要使用绝对尺寸,使用容器的相对尺寸。)
当您将纹理创建为精灵时,它会很大 - 但随后应用
sprite.scale = 0.5; // if you were using 2x
我发现这使它看起来分辨率更高,没有颗粒感,没有字体,尖角的模糊性。
我还使用了tex.filteringMode = SKTextureFilteringNearest;
因此:它不必添加到场景中然后被删除。