我正在玩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];