我想获得我在SKSpriteNode上使用的图像的名称。
这是我创建节点的方式:
SKSpriteNode *button = [SKSpriteNode spriteNodeWithImageNamed:@"img.png"];
通过触摸屏幕,我想在NSLog上获得此图像的名称。
UITouch *touch = [touches anyObject];
CGPoint loc = [touch locationInNode:self];
SKSpriteNode *node = (SKSpriteNode *)[self nodeAtPoint:loc];
通过触摸节点,我想获得NSLog信息,该SKSpriteNode使用名为img.png的图像。
我该如何解决这个问题?
提前致谢。
答案 0 :(得分:6)
您无法直接访问图片名称。一种可能的解决方案是使用节点的name
属性。
NSString *filename = @"img.png";
SKSpriteNode *button = [SKSpriteNode spriteNodeWithImageNamed:filename];
[button setName:filename];
通过简单地打印对象的描述,你就有了名字。
NSLog("Touched object %@", [node description]);
答案 1 :(得分:2)
我今天遇到了同样的问题并找到了一个确切的解决方案。如果您想访问SKSpriteNode的图像,请尝试:
NSLog(@"Texture: %@",[button texture]);