SharedObjectの保存をその場で行うflush()メソッドについて解説します。
public function flush(minDiskSpace:int = 0):String
第一引数はSharedObjectに割り当てる必要のある最小ディスク領域 (バイト単位) を指定します。
引数はデフォルトで0です。
flush()メソッドはローカルに作成されたSharedObjectをただちにローカルファイルに書き込みます。このメソッドを使用しない場合、SharedObjectがファイルに書き込まれるのは、SharedObjectセッションの終了時となります。
それはswfファイルが閉じられるときです。
SharedObjectが参照されなくなってガベージコレクションされるとき、SharedObject.clear() または SharedObject.close() が呼び出されたとき、のいずれかの時点になります。
例題
flush()メソッドを使ってmy_soというSharedObjectのデータを保存する(solファイルの生成、更新を行う)
save_btn.addEventListener(MouseEvent.CLICK,saveHandler)
var my_so:SharedObject;
my_so=SharedObject.getLocal("getfordasave02");
var index_ui:uint=20;
//localPath
function saveHandler(evt:Event)
{
//dataプロパティにdata1_numという保存変数を生成しその中にindexuiの値を入れる
trace("セーブされました。flush()を実行します")
my_so.data.data1_num=index_ui;
//SharedObjectのデータ保存を実行します
my_so.flush();
var soStatus_str:String=my_so.flush();
trace("soStatus_str="+soStatus_str)//保存が成功すると「flushed」が返される
}
load_btn.addEventListener(MouseEvent.CLICK,loadHandler)
function loadHandler(evt:MouseEvent)
{
trace("dataプロパティに格納されている、data1_numという変数を参照する"+my_so.data.data1_num)
}







