0

ゲームを再起動したときに変更されないように、トグルを使用するときにサウンド状態を保存したいと思います。これどうやってするの?以下の関連コードを参照してください。

-(void)volumeItems {

// volume toggle
CCMenuItemImage *vON = [CCMenuItemImage itemWithNormalImage:@"volumeON.png" selectedImage:@"volumeOFF.png"];
CCMenuItemImage *vOFF = [CCMenuItemImage itemWithNormalImage:@"volumeOFF.png" selectedImage:@"volumeON.png"];
vToggle = [CCMenuItemToggle itemWithTarget:self selector:@selector(volumeSel:) items:vON , vOFF , nil];
      .
      .
      .
}

-(void)volumeSel:(id)sender  {

switch (vToggle.selectedIndex) {
    case 0:
        if (![[SettingsManager sharedSettingsManager] isVolON]) {
            [[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"song.mp3"];
            [[[SettingsManager sharedSettingsManager] setIsVolON:YES];
        }
        CCLOG(@"ON");
        break;
    case 1:
        if ([[[SettingsManager sharedSettingsManager] isVolON]) {
            [[SimpleAudioEngine sharedEngine] stopBackgroundMusic];
            [[[SettingsManager sharedSettingsManager] setIsVolON:NO];
        }
        CCLOG(@"oFF");
        break;
    }
}
4

1 に答える 1

0

簡単です。オン/オフを切り替えるたびに、ボリューム値をユーザーのデフォルトに保存するだけです。

BOOL musicOn = [[[SettingsManager sharedSettingsManager] isVolON];
[[NSUserDefaults standardUserDefaults] setBool:musicOn forKey:@"music"];
[[NSUserDefaults standardUserDefaults] synchronize];

次回の起動時にユーザーのデフォルトから読み取るには

BOOL isMusicOn = [[NSUserDefaults standardUserDefaults] boolForKey:@"music"];
于 2013-10-30T10:39:27.267 に答える