1

UIImage から SKSpriteNode を設定するのに問題があります。UIImage でブリッジを使用し、画像を SKTexture に変換してから、その SKTexture を使用して新しい SKSpriteNode を作成していますが、コードがクラッシュし続け、「スレッド 1: EXC_BAD_ACCESS (code=1, address=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];

画像が nil でない場合は、機能するはずです。

また、次のことを試すこともできます。

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 に答える