Как получить имя изображения из SKSpriteNode?

Я хотел бы получить имя изображения, которое я использую на 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.

Как мне решить эту проблему?

Заранее спасибо.


person Ganjira    schedule 29.03.2014    source источник


Ответы (2)


У вас нет прямого доступа к имени изображения. Возможное решение — использовать для этого свойство name узла.

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

Таким образом, вы получите имя, просто напечатав описание объекта.

NSLog("Touched object %@", [node description]);
person Alexander    schedule 29.03.2014

Сегодня я столкнулся с этим же вопросом и нашел точное решение. Если вы хотите получить доступ к образу вашего SKSpriteNode, попробуйте:

NSLog(@"Texture: %@",[button texture]);
person MSU_Bulldog    schedule 21.04.2014