Book Image

Learning iPhone Game Development with Cocos2D 3.0

By : Kirill Muzykov
Book Image

Learning iPhone Game Development with Cocos2D 3.0

By: Kirill Muzykov

Overview of this book

Table of Contents (19 chapters)
Learning iPhone Game Development with Cocos2D 3.0
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

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 forKey:kSoundKey];
        
        [[NSUserDefaults standardUserDefaults]
          synchronize];
    }
  3. Also, add the code to save the music setting at the end of the toggleMusic method:

    -(void)toggleMusic
    {
        //..skipped..
        
        [...