来自UIImage的SKTexture看起来与众不同

时间:2014-02-13 20:46:39

标签: ios uiimage sprite-kit skspritenode sktexture

我正在使用SpriteKit,我正在从UIImage创建一个SKTexture,然后使用SKSpriteNode将孩子添加到我的SKScene(作为背景),一切正常,除了UIImage看起来与原始图像,我试图在photoshop中重新创建图像,问题仍然存在,在模拟器和真实设备上测试,不同的图像颜色,没有变化。

图像格式为PNG,我通过Xcode 5中的Images.xcassets添加

图片,结果:

enter image description here

不同的图像,结果:

enter image description here

我在SKScene子类中使用以下代码:

- (id)initWithSize:(CGSize)size
{

    if (self = [super initWithSize:size]) {

        SKTexture *textureGradient = [SKTexture textureWithImage:[UIImage imageNamed:@"Image"]];
        SKSpriteNode* spriteGradient = [SKSpriteNode spriteNodeWithTexture:textureGradient];
        [self addChild:spriteGradient];

    }
    return self;
}

我做错了什么?

任何帮助将不胜感激。 :)

1 个答案:

答案 0 :(得分:1)

解决方案:

这是我的错,图像位置错误,所以我更改了位置属性:

SKTexture *textureGradient = [SKTexture textureWithImage:[UIImage imageNamed:@"Image"]];
SKSpriteNode* spriteGradient = [SKSpriteNode spriteNodeWithTexture:textureGradient];
spriteGradient.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
[self addChild:spriteGradient];