建立SettingManager.as
package
{
import flash.events.EventDispatcher;
import flash.net.SharedObject;
public class SettingsManager extends EventDispatcher
{
private static var instance:SettingsManager;
private var so:SharedObject;
/**
* Private constructor
*/
public function SettingsManager()
{
if ( instance != null )
throw new Error("Private constructor. User SettingsManager.getInstance() instead.");
so = SharedObject.getLocal("localSettings");
}
public static function getInstance() : SettingsManager
{
if ( instance == null )
{
instance = new SettingsManager();
}
return instance;
}
/**
* Get the given setting value from the LocalSharedObject.
*/
public function getSetting( key:String ):Object
{
return so.data[key];
}
/**
* Set and save the given setting.
*/
public function setSetting(key:String, value:Object ) : void
{
so.data[key] = value;
so.flush();
}
}
}
在mxml中:
private var settingMain:SettingsManager = new SettingsManager();
private function init():void
{
//保存信息
settingMain.setSetting("fontsize",size);
settingMain.setSetting("colorSet",cp.selectedColor);
settingMain.setSetting("scrollSpeed",speed.text);
settingMain.setSetting("fontFamilySet",rg.selectedValue);
//取得信息,注意,在as中保存的是Object类,这里取得的时候要相应转换。
size = int(settingMain.getSetting("fontsize"));
delay = int(settingMain.getSetting("scrollSpeed"));
colorSet = uint(settingMain.getSetting("colorSet"));
fontFamilySet = String(settingMain.getSetting("fontFamilySet"));
}
本文介绍了一个用于Flash应用程序的设置管理器类,通过本地共享对象实现跨会话的数据持久化存储。该类支持设置的获取与设置操作,并展示了如何在MXML文件中使用此设置管理器。
7765

被折叠的 条评论
为什么被折叠?



