Fügen Sie einen UISwitch in die Header-Datei der von Ihnen verwendeten Schicht ein,
opionsLayer.h
UISwitch *muteSwitch;
dann implementieren Sie es in Ihrer init-Methode in der .m Ihrer Ebene
muteSwitch = [[ UISwitch alloc ] initWithFrame: CGRectMake(100, 50, 0, 0) ];
muteSwitch.on = YES;
[muteSwitch addTarget:self action:@selector(soundOnOrOff:) forControlEvents:UIControlEventValueChanged];
[[[CCDirector sharedDirector] openGLView] addSubview:muteSwitch];
[muteSwitch release];
dann fügen Sie die Callback-Funktion in der .m, aber nicht in der init-Methode hinzu,
- (void)soundOnOrOff:(id)sender
{
if ([[SimpleAudioEngine sharedEngine] mute]) {
// This will unmute the sound
[[SimpleAudioEngine sharedEngine] setMute:0];
}
else {
//This will mute the sound
[[SimpleAudioEngine sharedEngine] setMute:1];
}
}
Ich gehe allerdings davon aus, dass Sie hier eine einfache Audio-Engine verwenden. Sie müssten also importieren SimpleAudioEngine
auch in der Kopfzeile.