データ保存
♥0 |
Line 59 |
Modified 2014-05-11 12:19:05 |
MIT License
archived:2017-03-30 02:41:26
ActionScript3 source code
/**
* Copyright tepe ( http://wonderfl.net/user/tepe )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/lKJLf
*/
package {
import flash.display.Sprite;
import flash.text.*;
public class FlashTest extends Sprite {
public function FlashTest() {
var tf:TextField = new TextField();
tf.height = 400;
addChild(tf);
var dat:SaveData = new SaveData("data1");//データ名を指定してインスタンス作成
var str:String = dat.show();//セーブデータの内容確認
tf.appendText("\n"+str);
//obj = new Object();
var obj:Object = dat.data;//セーブデータ参照
obj["text"] = "テスト";
if(obj.hasOwnProperty("cnt")==false)obj["cnt"] = 0;
else obj["cnt"]++;
dat.data = obj;//セーブデータ保存
//dat.clear();//セーブデータ消去
}
}
}
//-------Objectデータをローカルに保存する------------------------------------------------
import flash.net.*;
class SaveData{
private var so:SharedObject;
//オブジェクト名を指定して開く
public function SaveData(name:String){
so = SharedObject.getLocal(name);
}
//データロード
public function get data():Object{
var obj:Object;
if(so){
obj = so.data;
return obj;
}
return null;
}
//データセーブ
public function set data(obj:Object):void{
if(so){
for(var str:String in obj){
so.data[str] = obj[str];
}
}
}
//データ消去
public function clear():void{
if(so){
so.clear();
}
}
public function get length():int{
var cnt:int=0;
for(var str:String in so.data)cnt++;
return cnt;
}
//データ確認
public function show():String{
var text:String = new String();
for(var str:String in so.data){
text += str;
text += "="+so.data[str].toString()+"\n";
}
return text;
}
}