SKSpriteNode spriteNodeWithImageNamed呈现错误的分辨率

时间:2015-01-04 00:01:34

标签: ios sprite-kit skspritenode

我刚开始使用SpriteKit,不幸的是已经陷入了第一次尝试。使用任何使用该名称的方法创建精灵时,它们不会以正确的分辨率渲染,但大约相当于1.3倍。我正在加载一个应该充满iphone 5屏幕的图像:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"1"];

sprite.position = CGPointMake(CGRectGetMidX(self.frame),
                             CGRectGetMidY(self.frame));
[self addChild:sprite];

奇怪的是,CGSize属性是正确的。我的图像文件名为1@2x.png,我尝试了不同的名称但没有成功。当我开始使用纹理图集时,我才注意到问题是相同的。

1 个答案:

答案 0 :(得分:0)

那么,目前该图像不一定会在整个屏幕上显示。您已使用CGPointMake将其定位在中心,但您必须使用[sprite setScale:]来实际放大/缩小它。通过在图像名称的末尾包含@ 2x,您可以说如果有视网膜显示,您想要将更高质量的图像替换为标准图像。这并不意味着视觉上尺寸会有所不同(因为视网膜将使用2x,而正常显示将使用1x)。请记住,视网膜在较小的区域内具有更多像素。

如果你想让图像占据整个屏幕,你可以尝试将精灵的大小设置为场景的大小。