从UIImage设置SKSpriteNode

时间:2015-06-04 21:40:49

标签: ios objective-c uiimage skspritenode sktexture

我无法从UIImage设置SKSpriteNode。我在UIImage上使用了一个桥,将图像转换为SKTexture,然后使用该SKTexture创建一个新的SKSpriteNode,但是我的代码一直在崩溃,出现以下警告"线程1:EXC_BAD_ACCESS(代码= 1,地址=为0x0)"

CGImageRef textureImage =  (__bridge CGImageRef)(theUIImage);
SKTexture *heroTexture = [SKTexture textureWithCGImage:textureImage];
SKSpriteNode *hero = [SKSpriteNode spriteNodeWithTexture:heroTexture size:CGSizeMake(64, 64)];

2 个答案:

答案 0 :(得分:1)

不应将UIImage桥接到CGImageRef,而应使用:

CGImageRef textureImage = [theUIImage CGImage];

如果您的图片不是零,则应该有效。

另外,你可以尝试:

SKTexture *heroTexture = [SKTexture textureWithImage:theUIImage];

小小的提示;总是检查" nullity"。

答案 1 :(得分:1)

尝试使用图片[SKTexture textureWithImageNamed:...]创建纹理,然后使用它来创建Sprite:[SKSprite spriteWithTexture:....]。 (可能是SpriteFromTexture)