We can assign image in SKSpriteNode using the code
SKSpriteNode *currentSprite = [SKSpriteNode spriteNodeWithTexture:[_arrayImg objectAtIndex:1]];
But how can I get the image name from the SKSpriteNode currentSprite.
I suppose you could also do this:
SKSpriteNode* currentSprite = [SKSpriteNode spriteNodeWithTexture:[_arrayImg objectAtIndex:1]];
[currentSprite setName:[NSString stringWithFormat:@"%@", [_arrayImg objectAtIndex:1]]];
then finding the SKSpriteNode do,
SKSpriteNode* currentSprite = (SKSpriteNode*)[self childNodeWithName:[NSString stringWithFormat:@"%@", [_arrayImg objectAtIndex:1]]]
or finding out the image name of the SKSpriteNode do,
for (SKNode* node in self.children) {
if ([node isKindOfClass:SKSpriteNode.class]) {
SKSpriteNode* sprite = (SKSpriteNode*)node;
NSString* name = sprite.name;
}
}
You'll have to "remember" it, for example in userData.
NSString* imageName = [_arrayImg objectAtIndex:1];
SKSpriteNode *currentSprite = [SKSpriteNode spriteNodeWithImageNamed:imageName];
currentSprite.userData = [NSMutableDictionary dictionaryWithObject:imageName
forKey:@"imageName"];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With