ASが運営するWebサイトに飛びます

2008年01月02日

SharedObjectの保存をその場で実行するflush()メソッドについて

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)
}
posted by 神風記 at 18:13| セーブ | このブログの読者になる | 更新情報をチェックする

2008年01月01日

セーブデータとなる変数を格納するdataプロパティに保存する変数を定義する



セーブデータとなるSharedObjectのdataプロパティに保存する変数を定義する方法を解説します。

セーブデータとなるSharedObjectのdataプロパティに保存する保存変数は

SharedObject.data.変数=x

という様に「var」を使わずこれだけで保存する変数を定義できるのが特徴です


セーブデータとなる変数を格納する場所はSharedObject.dataプロパティにアクセスします。
dataに直接値を入れるのではなく、dataの中に、保存する変数名を定義し、そこに値を代入します。

一例を出します。

my_so:SharedObject;

my_so=SharedObject.getLocal("save01");

my_so.data.data1_num=10;

これで「my_so」のdataプロパティ内に生成した「data1_num」という保存変数に10の値を入れました。

dataプロパティの保存変数を定義の方法は普通の変数定義より簡易に定義できます。

data1_numのようなdataプロパティの保存変数を定義するには普通の変数のように
var my_num=10;
みたいに var をつける必要がなく、前振りなしに直接 data.data1_num
のように記述するだけで保存変数が定義できるのが特徴です。

ここで作られた保存変数には、getLocal()で指定したSharedObjectを呼び出した後にいつでもアクセスできます


例題

my_so SharedObjectを生成。getLocal()でセーブファイルの生成or呼び出しを行う。
dataプロパティに「data1_num」という保存変数を定義。
これとは別にvar で普通に「index_ui」という変数を定義。

「save_btn」と「load_btn」という二つのボタンを生成。

save_btnをクリックすると変数「index_ui」がmy_soのdataプロパティに生成された保存変数「data1_num」に代入される。

load_btnを押すと、my_soのdataプロパティに生成された保存変数「data1_num」の現在の値が代入される。

ファイルを閉じたとも、my_so.data.data1_num
でdata1_num 保存変数にアクセスすると前に入れた値を参照する事ができます。


my_soのdataプロパティに生成された「data1_num」という保存変数にindex_uiが代入される。


//SharedObjectを生成
var my_so:SharedObject;

save_btn.addEventListener(MouseEvent.CLICK,saveHandler)

my_so=SharedObject.getLocal("save01");

var index_ui:uint=20;
//localPath
function saveHandler(evt:Event)
{
//dataプロパティにdata1_numという保存変数を生成しその中にindexuiの値を入れる
my_so.data.data1_num=index_ui;

//ShareadObjectを記録する。SharedObjectに必要な値を代入し終えてから実行
my_so.flush()
}

load_btn.addEventListener(MouseEvent.CLICK,loadHandler)

function loadHandler(evt:MouseEvent)
{

trace(my_so.data.data1_num)//「my_so」SharedObjectのdataプロパティに格納されている、data1_numという変数を参照する
}
posted by 神風記 at 15:42| セーブ | このブログの読者になる | 更新情報をチェックする

2007年12月31日

セーブデータのロード、生成を行うgetLocalメソッド


セーブデータを取得するgetLocalメソッドについて解説します。

public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

第一引数に「セーブファイル名」です。

第二引数にセーブファイルを格納するパスを指定します。

第三引数にSharedObjectがhttp経由で接続されているかどうかを指定します。

getLoacalで指定したパスにsolファイルが無い場合は第一引数に指定したファイル名でsolファイルが生成されます。

セーブファイルのロードやセーブファイルの作成はこのgetLocalで行います(セーブファイル保存のメソッドSharedObject.flush()メソッドはは後日解説します)

例題

「save」というファイル名のセーブファイルを生成します。

SharedObjectフォルダ以下のディレクトリに「save.sol」というセーブファイルが生成されます。一度生成したこの「save.sol」はgetLocal()メソッドでロードする事ができます。

var my_so:SharedObject;

//ルートフォルダに生成
my_so=SharedObject.getLocal("save");
posted by 神風記 at 06:00| セーブ | このブログの読者になる | 更新情報をチェックする

2007年12月30日

SharedObjectクラスでセーブファイルを生成する。

データのセーブにはSharedObjectを使用します。

SharedObjectはユーザーのコンピュータに限定された量のデータの格納読み込みを行うものです。

このSharedObjectを使うことによってゲームのセーブ処理を実行する事ができます。

今回はSharedObjectの簡単な定義方法を行います。

例題

SharedObjectを使ってコンピュータに「save01」というセーブファイルを使用します。getLocalメソッドを使う事でセーブファイルを生成する事ができます。getLocalメソッドについては後日解説します。

//my_soという共有オブジェクトを定義
var my_so:SharedObject;

//save01というsolファイル(セーブファイル)を生成
my_so=SharedObject.getLocal("save01");
posted by 神風記 at 14:26| セーブ | このブログの読者になる | 更新情報をチェックする

2007年12月29日

SharedObjectで生成したsolファイルへのパス

SharedObjectで生成したsolファイルへのパスを記述します。


C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Flash Player\#SharedObjects
posted by 神風記 at 01:00| セーブ | このブログの読者になる | 更新情報をチェックする

2007年12月28日

セーブカテゴリを新設



セーブカテゴリを新設しました。

ゲームの進行状況を記録するための処理を研究します。

ゲームの進行状況、ステータス等を記録する処理を研究しセーブ機能をゲームエンジンに実装する事を目的に研究を行っていきます。

非常に重要な研究です。
posted by 神風記 at 01:38| セーブ | このブログの読者になる | 更新情報をチェックする