1

我无法从 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)];
4

2 回答 2

1

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

CGImageRef textureImage = [theUIImage CGImage];

如果您的图像不是零,它应该可以工作。

另外,您可以尝试:

SKTexture *heroTexture = [SKTexture textureWithImage:theUIImage];

一点小费;始终检查“无效”。

于 2015-06-04T22:15:50.603 回答
1

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

于 2016-04-04T16:22:21.063 回答