2

SKSpriteNode で使用する画像の名前を取得したいと思います。

これは私がノードを作成する方法です:

SKSpriteNode *button = [SKSpriteNode spriteNodeWithImageNamed:@"img.png"];

画面をタッチすることで、この画像の名前を NSLog で取得したいと思います。

UITouch *touch = [touches anyObject];
CGPoint loc = [touch locationInNode:self];
SKSpriteNode *node = (SKSpriteNode *)[self nodeAtPoint:loc];

ノードに触れることで、このSKSpriteNodeがimg.pngという名前の画像を使用しているというNSLog情報を取得したいと思います。

この問題をどのように解決すればよいですか?

前もって感謝します。

4

2 に答える 2

6

イメージの名前に直接アクセスすることはできません。name考えられる解決策は、ノードのプロパティを使用することです。

NSString *filename = @"img.png";
SKSpriteNode *button = [SKSpriteNode spriteNodeWithImageNamed:filename];
[button setName:filename];

そうすれば、オブジェクトの説明を印刷するだけで名前が付けられます。

NSLog("Touched object %@", [node description]);
于 2014-03-29T17:44:45.590 に答える
2

今日、この同じ質問に出くわし、正確な解決策を見つけました。SKSpriteNode のイメージにアクセスする場合は、次を試してください。

NSLog(@"Texture: %@",[button texture]);
于 2014-04-21T06:27:26.087 に答える