flash on 2016-3-2

by mutantleg
♥0 | Line 54 | Modified 2016-03-02 08:21:13 | MIT License
play

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
}