O'Reilly logo

Learning iPhone Game Development with Cocos2D 3.0 by Kirill Muzykov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Time for action – storing settings in NSUserDefaults

Right now, the audio settings are not saved across the game launches because we only save them in instance variables in memory. To fix this, we're going to save them in NSUserDefaults and load them when the game starts, as follows:

  1. Open the AudioManager.m file and add the following #define statements to define the keys we'll use to save and load the corresponding audio setting:
    #define kSoundKey @"AudioManager_Sound"
    #define kMusicKey @"AudioManager_Music"
  2. Scroll down to the toggleSound method and add the code to save the sound setting at the end of the method, right after it's changed:
    -(void)toggleSound
    {
        _isSoundEnabled = !_isSoundEnabled;
        
        [[NSUserDefaults standardUserDefaults]
     setBool:_isSoundEnabled ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required