You will need several functions to work with SharedObject. But you should know, user can clear values from the SharedObject, and achievements will be lost.
private function getScore(key:String, domain:String):* {
try {
var so:SharedObject = SharedObject.getLocal(domain);
var data:Object = so.data;
if (key in data) {
return data[key];
} else {
trace(key + " doesn't present in SharedObject");
}
} catch (e:*) {
trace("Oops, something goes wrong…");
}
}
private function saveScore(value:*, key:String, domain:String):void {
try {
var so:SharedObject = SharedObject.getLocal(domain);
so.data[key] = value;
so.flush();
} catch (e:*) {
trace("Oops, something goes wrong…");
}
}
Now you can work with scores:
var domain:String = "GeometryBlast";
var scoreKey:String = "ScoreKey";
const newcomer: int = 10;
//Getting scores
var myScore: Number = getScore(scoreKey, domain);
//Simple example how you could manage score values
if(!isNaN(myScore)){
//Check achievements
if(myScore >= newcomer){
//Add 'Newcomer' achievement to the screen
}
}
//Saving scores
var someScores:Number = 10;
saveScore(someScores, scoreKey, domain);