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

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

图片,结果:



不同的图像,结果:



我在我的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;
}


我做错了什么?

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

最佳答案

解:

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

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

09-26 03:17