I have my sound on logo showing up on the screen and the sound off logo appears when i test it. what I want it to do is change from sound on to sound off when I tap on it. The buttons do acknowledge the tap but nothing happens. I don't have much experience in change node images when they're tapped so I don't really know if I used the most efficient code. Can someone look over my code and see what's wrong? Thanks in advance!
@implementation MyScene
{
SKSpriteNode *soundLogo;
SKSpriteNode *soundOff;
}
-(void) addSoundOff:(CGSize)size {
soundOff = [SKSpriteNode spriteNodeWithImageNamed:@"soundOff"];
//resize sprite
soundOff.size = CGSizeMake(soundOff.size.width/2.25, soundOff.size.height/2.25);
//position it
soundOff.position = CGPointMake(65, 25);
//name sound off
soundOff.name = @"soundOff";
soundOff.zPosition = 0;
soundOff.alpha = 0;
//[self addChild:soundOff];
}
-(void) addSoundOn:(CGSize)size {
soundLogo = [SKSpriteNode spriteNodeWithImageNamed:@"soundLogo"];
//resize sprite
soundLogo.size = CGSizeMake(soundLogo.size.width/2.25, soundLogo.size.height/2.25);
//position sprite
CGPoint myPoint = CGPointMake(65, 25);
soundLogo.position = myPoint;
//name sound logo
soundLogo.name = @"soundOn";
//add action
//soundLogo.alpha = 1;
soundLogo.zPosition = 100;
[self addChild:soundLogo];
}
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
if ([node.name isEqualToString:@"soundOn"]) {
    soundOff.zPosition = 100;
    soundOff.alpha = 1;
    soundLogo.alpha = 0;
    soundLogo.zPosition = 0;
//        [node removeFromParent];
//        [node addChild:soundOff];
    NSLog(@"sound on is pressed");
 }
if ([node.name isEqualToString:@"soundOff"]) {
    soundLogo.zPosition = 100;
    soundLogo.alpha = 1;
    soundOff.alpha = 0;
    soundOff.zPosition = 0;
//        [node removeFromParent];
//        [node addChild:soundLogo];
    NSLog(@"sound off is pressed");
}
}
				
                        
It seems nothing wrong in your
addSoundOffandaddSoundOnfunctions. What you can do as one of the solutions to changealphaandzPositionproperties ofSKSpriteNode. And also createsoundOffandsoundLogoas instance variables under the implementation. So here is the all code: