flash on 2016-3-2
♥0 |
Line 54 |
Modified 2016-03-02 08:21:13 |
MIT License
archived:2017-03-30 11:39:36
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/C5Wg
*/
package {
import flash.utils.ByteArray;
import flash.events.MouseEvent;
import flash.net.SharedObject;
import flash.text.TextField;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
deb = new TextField();
deb.mouseEnabled=false;
deb.width=465;
deb.height=465;
addChild(deb);
deb.text = "---------------\n";
var so:SharedObject;
var vec:Array;
try { so = SharedObject.getLocal("savetest", "/" ); }
catch (e:Error) { deb.appendText("error"); }
vec = so.data.slota;
// if (vec != null) { vec = vec.concat([]); } //dictionary part gets lost
if (vec !=null) //deepcopy
{ var ba:ByteArray; ba = new ByteArray();
ba.writeObject(vec); ba.position=0; vec = ba.readObject();
}//endif
deb.appendText("bytes: "+so.size); deb.appendText("\n");
deb.appendText("save: "+vec); deb.appendText("\n");
deb.appendText("percent: "+vec["percent"] ); deb.appendText("\n");
deb.appendText("text: "+vec["text"] ); deb.appendText("\n");
deb.appendText("vtest: "+vec["vtest"] ); deb.appendText("\n");
deb.appendText("notexist: "+vec["notexist"] ); deb.appendText("\n");
deb.appendText("notexist==null: "+ (vec["notexist"]==null) ); deb.appendText("\n");
deb.appendText("notexist==undefined: "+ (vec["notexist"]==undefined) ); deb.appendText("\n");
deb.appendText("notexist==0: "+ (vec["notexist"]==0) ); deb.appendText("\n");
if (vec != null) { vec["percent"] = 60; } //wout a deep copy this is autosaved
stage.addEventListener(MouseEvent.CLICK, onClick);
}//ctor
public var deb:TextField;
public function onClick(e:Event):void
{
deb.appendText("click\n");
var so:SharedObject;
var save:Array;
save = ["testsave"];
save["percent"] = 50;
save["text"] = "savedtext";
save["vtest"] = [0,1,2,3,4,5,6, "seven"];
try { so = SharedObject.getLocal("savetest", "/" ); }
catch (e:Error) { deb.appendText("error"); }
so.data.slota = save;
try { so.flush(); } catch (e:Error) { deb.appendText("flush error"); return; }
deb.appendText("saved\n");
}//onclick
}//classend
}