SharedObjectの使い方(長文です)
制作しているゲームに、セーブ機能を付けようと
下記サイトの、テキストセーブflaや
他のサイトを参考にしましたがうまく作動しません
http://mamnag.org/prmx/flash/sharedobject.html
長文で申し訳ないです
どなたか分かる方教えてください(_)
環境は、FLASH CS3
アクションスプリクト2.0です
■ゲームのオープニング画面に『スタート』と『ロード』ボタン、
ゲーム内に『セーブ』ボタンを置いて、下記のASを書きました
◆スタートボタン(インスタンス名は、startbtm)
on(release){
var so = SharedObject.getLocal("my_data");
if(so){
so.clear();
}
nextScene();}
//次のシーン(ゲーム内容へ飛ぶ)
◆ロードボタン(インスタンス名は、lordbtm)
on(release){
SharedObjLoad();
}
◆セーブボタン(インスタンス名は、savebtm)
on(release){
_root.saveData();
}
■フレームアクションスプリクト(1)
---------------------------------------------------------
//SharedObjectインスタンスの生成
SO_instance = SharedObject.getLocal("mydata");
//保存用サンプルデータを作成
var arrayData = new Array("aaa","bbb","ccc","ddd","eee");
var stringData= "日本語文字列";//この日本語もUTF8で保存されます。
//データを保存(変数を代入していますが、直接リテラルを入力することも可能です)
SO_instance.data.savebtm = arrayData;
SO_instance.data.savebtm = stringData;
//保存したデータの呼び出し。(出力ウインドウで確認してください)
trace("SO_instance.data.savebtm : "+SO_instance.data.savebtm);
trace("SO_instance.data.lordbtm : "+SO_instance.data.lordbtm);
---------------------------------------------------------
■フレームアクションスプリクト(2)
---------------------------------------------------------
//SharedObjectインスタンスの生成
mySharedObject = SharedObject.getLocal("●●.swf");
//ホストのルートに保存する場合:mySharedObject = SharedObject.getLocal("●●.swf");
//保存したデータの呼び出し
_root.lord = mySharedObject.data.lordbtmD;
//saveボタンが押されたときにテキストフィールドの変数を保存
function saveData(){
mySharedObject.data.savebtmD = _root.savebtm;
}
---------------------------------------------------------
サンプルflaに、フレームASが二つあったので
そのまま使いましたが、これでいいのでしょうか??
出力には
SO_instance.data.savebtm : 日本語文字列
SO_instance.data.lordbtm : aaa,bbb,ccc,ddd,eee
という文字がでました
お礼
sassakun様ありがとうございました。 なるほど、通りでみれないはずですね^^; さっそくStirlingのほう使ってみました、理解は難しそうですが頑張って調べてみます。