我无法从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)];
答案 0 :(得分:1)
不应将UIImage桥接到CGImageRef,而应使用:
CGImageRef textureImage = [theUIImage CGImage];
如果您的图片不是零,则应该有效。
另外,你可以尝试:
SKTexture *heroTexture = [SKTexture textureWithImage:theUIImage];
小小的提示;总是检查" nullity"。
答案 1 :(得分:1)
尝试使用图片[SKTexture textureWithImageNamed:...]
创建纹理,然后使用它来创建Sprite:[SKSprite spriteWithTexture:....]
。 (可能是SpriteFromTexture)