iPhone Dev : Persisting Values

Well i think most of us rely upon using SQLite for storing variables and data for our iPhone apps,but what if we only want to score 2-3 values.Like high score in some game or the number of visits to app.Setting up whole SQLite for just 2-3 variables doesn’t seem logical.

To solve this we use [NSUserDefaults standardUserDefaults].Basically this is used to store the default values and can also be used to save values associated with keys.

To Save Variables:

   1: if([[NSUserDefaults standardUserDefaults] stringForKey:@"HighScore"])

   2: {      

   3:     int score = 250;

   4:     NSString *string = [NSString stringWithFormat:@"%d", score];

   5:     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

   6:     [defaults setObject:string forKey:@"HighScore"];

   7:     [defaults synchronize];

   8: }

So if you have a HighScore value you can save it for some key,in this case”HighScore”.

To Retrieve Variables:

   1: if ([[NSUserDefaults standardUserDefaults] stringForKey:@"HighScore"]){        

   2:     NSString * highScore = [[NSUserDefaults standardUserDefaults] stringForKey:@"HighScore"];

   3: }

And that’s it.Simple and no need to setup SQLite for storing your simple variables.

Advertisements

iPhone Dev : Turning Sound On/Off in Cocos2d/CocosDenshion

Well its a pretty basic requirement in game development but for the very first time you don’t exactly know how to do it.Naturally i went to Cocos2d website and looked in cocosdension help.Here is the way to do this mentioned on cocos2d website

   1: [CDAudioManager sharedManager].backgroundMusic.volume = 1.0f;

Range is 0.0 for off to 1.0 for maximum volume.

But when your using multiple background sounds this way gets a little messy.Something to do with the fact that for very sound file you have to reset the music volume and previous music volume value does not persists.So natural i banged my head quite a lot on how to fix this.

After few hours of head banging i just jumped into the code file and found an extremely easy way to mute/unmute sounds.

   1: [CDAudioManager sharedManager].mute = FALSE; //Sound On

   2: [CDAudioManager sharedManager].mute = TRUE;  //Sound Of

That’s it just one line and your settings last all across your app even if your using multiple sound files with [CDAudioManager sharedManager].This is the best way to implement if you have a settings screen in your game where you can turn sounds on/off.Basic stuff but is really helpful once you know it.

Islam & America: Through the Eyes of Imran Khan

Apple iPad – “iPhone on steroids” OR much more

Steve Jobs unveiled  Apple much awaited tablet pc “iPad” yesterday.iPad will start from an incredible affordable price of $499 and will be launched around April this year.Jobs described it as "so much more intimate than a laptop and so much more capable than a smart phone."

In last 24 hours it has been iPad media frenzy over the internet. From strict criticism,disappointments,applauses to even jokes.Frankly speaking everyone has his own expectation with the iPad.Taking into perspective the extraordinary leap that iPhone took people where expecting iPad to be similar.They wanted it to be like some sort of futuristic “star trek” or “Minority report” sort of touch and control sort of gadget when in reality it turned out to be much familiar.So naturally people are disappointed.

The lack of camera and USB ports was a huge disappointment i have to admit.Lack of camera can be assumed to be a huge technical blunder from the geniuses at apple.But then when you see the broader picture and see apple competition in tablet pc arena there isn’t much to speak off.Amazon kindle is basically a book reader and with the touch screen and the finishing,iPad provides much better book reading experience.Hp Slate PC’s running window 7 shown by Balmer earlier this month were not exactly eye catching as well.

From development perspective just consider it as an iPhone/iPod with huge touch screen and powerful processor,and i think these 2 factors open a huge new market of app development for iPad.with such a huge screen(compared to iPhone) there will be more sophisticated an complex applications making there way to iPad ,not to mention the potential in games market.Surely big giants like EA will soon be announcing some extraordinary game titles for iPad very soon.SDK 3.2 beta is already available for download from appstore.

So all said and done may be apple is still at the top of tablet pc market and comes April we might see a frenzy to buy the new hottest gadget in town”iPad”.

Apple iPad