I created a singleton class: "ApplicationSettings.as"...
package org.larimer
{
import flash.net.SharedObject;
public class ApplicationSettings
{
// module level vars
private static var _instance:ApplicationSettings;
private var _so:SharedObject;
// constructor
public function ApplicationSettings(enforcer:SingletonEnforcer)
{
_so = SharedObject.getLocal("applicationSettings");
}
public static function getInstance():ApplicationSettings
{
if(ApplicationSettings._instance == null)
{
ApplicationSettings._instance = new ApplicationSettings(new SingletonEnforcer());
}
return _instance;
}
// public properties
// scale
public function get scale():Number
{
return _so.data.scale;
}
public function set scale(value:Number):void
{
_so.setProperty("scale", value);
}
//more properties
...
}
}
class SingletonEnforcer{}
Then reference the class in the various components:private var _applicationSettings:ApplicationSettings = ApplicationSettings.getInstance();
To persist the map scale property:_applicationSettings.scale = map.scale;
To retrieve the scale upon app load:map.scale = _applicationSettings.scale;
That's the basic concept. Map scale is an easy property to deal with but that's the idea.Good luck,-r